mirror of
https://github.com/Luzifer/automate-cookie-clicker.git
synced 2024-12-23 02:31:18 +00:00
Use game object to buy buildings
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
e8d5124ee3
commit
c9600caa61
1 changed files with 13 additions and 17 deletions
|
@ -1,7 +1,7 @@
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name Automate CookieClicker
|
// @name Automate CookieClicker
|
||||||
// @namespace https://luzifer.io/
|
// @namespace https://luzifer.io/
|
||||||
// @version 0.16.2
|
// @version 0.17.0
|
||||||
// @description Automate everything!
|
// @description Automate everything!
|
||||||
// @author Knut Ahlers <knut@ahlers.me>
|
// @author Knut Ahlers <knut@ahlers.me>
|
||||||
// @source https://github.com/Luzifer/automate-cookie-clicker
|
// @source https://github.com/Luzifer/automate-cookie-clicker
|
||||||
|
@ -53,12 +53,19 @@ function executeAutoActions() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the top enabled purchase to be made
|
// Get the top enabled purchase to be made
|
||||||
let availableProducts = $('.product.unlocked.enabled').filter(productFilter);
|
let availableProducts = Game.ObjectsById.filter(obj => obj.price < Game.cookies && obj.amount < purchaseSteps);
|
||||||
if (availableProducts.length > 0 && Game.buyMode === 1) { // buyMode 1 = buy, -1 = sell
|
while (availableProducts.length > 0 && Game.buyMode === 1) { // buyMode 1 = buy, -1 = sell
|
||||||
let product = $(availableProducts[availableProducts.length - 1]);
|
let product = availableProducts[availableProducts.length - 1];
|
||||||
|
|
||||||
product.click();
|
let buyAmount = 0;
|
||||||
note('Purchased ' + product.find('.title:first').text() + ' for you.');
|
for (buyAmount = purchaseSteps - product.amount; buyAmount > 0; buyAmount--) {
|
||||||
|
if (product.getSumPrice(buyAmount) <= Game.cookies) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
product.buy(buyAmount);
|
||||||
|
availableProducts = Game.ObjectsById.filter(obj => obj.price < Game.cookies && obj.amount < purchaseSteps);
|
||||||
}
|
}
|
||||||
|
|
||||||
manageDragon();
|
manageDragon();
|
||||||
|
@ -78,12 +85,6 @@ function controlAutoClicker() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getMaxBuy() {
|
|
||||||
let topPurchaseCount = Game.ObjectsById[Game.ObjectsN - 1].amount;
|
|
||||||
|
|
||||||
return Math.max(Math.ceil((topPurchaseCount + 1) / purchaseSteps), 1) * purchaseSteps;
|
|
||||||
}
|
|
||||||
|
|
||||||
function hasActiveClickBuff() {
|
function hasActiveClickBuff() {
|
||||||
let hasBuff = false;
|
let hasBuff = false;
|
||||||
for (let key in Game.buffs) {
|
for (let key in Game.buffs) {
|
||||||
|
@ -123,11 +124,6 @@ function note(msg, quick = true) {
|
||||||
Game.Notify('Auto-CookieClicker', msg, [12, 0], quick, true);
|
Game.Notify('Auto-CookieClicker', msg, [12, 0], quick, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function productFilter() {
|
|
||||||
let owned = Game.ObjectsById[parseInt($(this).attr('id').replace(/^product/, ''))].amount;
|
|
||||||
return owned < getMaxBuy();
|
|
||||||
}
|
|
||||||
|
|
||||||
function upgradeFilter() {
|
function upgradeFilter() {
|
||||||
let onClickHandler = $(this).attr('onclick');
|
let onClickHandler = $(this).attr('onclick');
|
||||||
if (onClickHandler == null) {
|
if (onClickHandler == null) {
|
||||||
|
|
Loading…
Reference in a new issue