NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name AutoHorde
// @namespace http://tampermonkey.net/
// @version 2.2
// @description Automatically click various action buttons in Gooboo
// @author Hyppy
// @match https://html-classic.itch.zone/html/9100894/index.html
// @match https://tendsty.github.io/gooboo/
// @match https://tendsty.itch.io/gooboo
// @icon https://tendsty.github.io/gooboo/favicon-32x32.png
// @license MIT
// @updateURL https://openuserjs.org/src/scripts/Hyppy/AutoHorde.user.js
// @downloadURL https://openuserjs.org/src/scripts/Hyppy/AutoHorde.user.js
// @homepage https://openuserjs.org/scripts/Hyppy/AutoHorde
// @grant none
// ==/UserScript==
// ==OpenUserJS==
// @author Hyppy
// ==/OpenUserJS==
/* jshint esversion: 6 */
(function() {
'use strict';
// Define vue store object for use across script
var vsO = document.getElementById('app').__vue__.$store;
// ---------------
// XHORDE SECTION
// ---------------
// Top button
var actionInt = -1;
var actionState = -1; // -1 is disabled, 1 is for all buttons, 2 is for utilities and short cooldowns only
var actionDiv = document.createElement('div');
actionDiv.id = 'actionDivId';
actionDiv.innerHTML = `  <button data-autoaction id="actionButton" type="button" class="balloon-text-dynamic v-chip theme--dark v-size--small">XHorde OFF</button>`;
document.getElementsByClassName("v-toolbar__content")[0].querySelector('.spacer').insertAdjacentElement("afterend", actionDiv);
// Toggle
document.getElementById("actionButton").onclick = function () {
if (actionInt == -1) {
actionInt = setInterval( actionClicker, 1000);
actionState = 1;
document.getElementById("actionButton").innerHTML = "XHorde ON - ALL";
} else if ( actionState == 1 ) {
actionState = 2;
document.getElementById("actionButton").innerHTML = "XHorde ON - SHORT";
} else {
clearInterval(actionInt);
actionInt = -1;
actionState = -1;
document.getElementById("actionButton").innerHTML = "XHorde OFF";
}
};
// Clicker logic
function actionClicker() {
var actionList = vsO.getters['horde/itemsActiveList'];
var actionKeys = Object.keys(actionList);
if (actionKeys.length > 0) {
for (let i=0; i<actionKeys.length; i++) {
if (Object.entries(actionList)[i][1].cooldownLeft <= 0) {
if (actionState == 1 || Object.entries(actionList)[i][1].cooldown(Object.entries(actionList)[i][1].level) < 601 || Object.entries(actionList)[i][1].activeType == 'utility') {
vsO.dispatch("horde/useActive", actionKeys[i]);
}
}
}
}
}
// ---------------
// XFARM SECTION
// ---------------
// Top button
var farmInt = -1;
var farmDiv = document.createElement('div');
farmDiv.id = 'farmDivId';
farmDiv.innerHTML = '  <button data-autoaction id="farmButton" type="button" class="balloon-text-dynamic v-chip theme--dark v-size--small">XFarm OFF</button>';
document.getElementsByClassName("v-toolbar__content")[0].querySelector('.spacer').insertAdjacentElement("afterend", farmDiv);
// Toggle
document.getElementById("farmButton").onclick = function () {
if (farmInt == -1) {
farmInt = setInterval( farmClicker, 1000);
document.getElementById("farmButton").innerHTML = "XFarm ON";
}
else {
clearInterval(farmInt);
farmInt = -1;
document.getElementById("farmButton").innerHTML = "XFarm OFF";
}
};
// Clicker logic
function farmClicker() {
vsO.dispatch("farm/replantAll");
}
// ---------------
// XGALLERYPRESTIGE SECTION
// ---------------
// Top button
var galleryInt = -1;
var galleryDiv = document.createElement('div');
galleryDiv.id = 'galleryDivId';
galleryDiv.innerHTML = '  <button data-autoaction id="galleryButton" type="button" class="balloon-text-dynamic v-chip theme--dark v-size--small">XGalleryPrestige OFF</button>';
document.getElementsByClassName("v-toolbar__content")[0].querySelector('.spacer').insertAdjacentElement("afterend", galleryDiv);
// Toggle
document.getElementById("galleryButton").onclick = function () {
if (galleryInt == -1) {
galleryInt = setInterval( galleryClicker, 250);
document.getElementById("galleryButton").innerHTML = "XGalleryPrestige ON";
}
else {
clearInterval(galleryInt);
galleryInt = -1;
document.getElementById("galleryButton").innerHTML = "XGalleryPrestige OFF";
}
};
// Clicker logic
function galleryClicker() {
while (vsO.state.currency.gallery_inspiration.value > 0) {
vsO.dispatch('gallery/buyIdea', "advertise");
}
if (vsO.getters['gallery/prestigeGain'] > 0) {
vsO.dispatch("gallery/prestige");
}
}
// ---------------
// XNITER SECTION
// ---------------
// Top button
var niterMoveOn = 1000;
var niterDiv = document.createElement('div');
var niterInt = -1;
niterDiv.id = 'niterDivId';
niterDiv.innerHTML = `  <button data-autoaction id="niterButton" type="button" class="balloon-text-dynamic v-chip theme--dark v-size--small">XNiter OFF</button>`;
document.getElementsByClassName("v-toolbar__content")[0].querySelector('.spacer').insertAdjacentElement("afterend", niterDiv);
var niterButton = niterDiv.children[0];
// Toggle
document.getElementById("niterButton").onclick = function () {
if (niterInt == -1) {
niterMoveOn = 1000;
niterButton.innerHTML = "XNiter ON - " + niterMoveOn;
niterInt = setInterval( niterClicker, 1000);
}
else if ( niterMoveOn == 1000 ){
niterMoveOn = 100;
niterButton.innerHTML = "XNiter ON - " + niterMoveOn;
}
else {
clearInterval(niterInt);
niterInt = -1;
niterButton.style = "";
niterButton.innerHTML = "XNiter OFF";
}
};
// Clicker logic
function niterClicker() {
niterButton.style = "";
niterButton.innerHTML = "XNiter ON - " + niterMoveOn;
if ( vsO.state.stat.mining_maxDepth0.value < 130 ) {
niterButton.style = "background-color:red";
niterButton.innerHTML = "Need Max Depth of 130";
} else if ( vsO.state.stat.mining_maxDepth0.value == vsO.state.mining.depth ) {
niterButton.style = "background-color:red";
niterButton.innerHTML = "At Max Depth, Go Lower";
} else if ( vsO.state.mining.depth < 130 ) {
vsO.state.mining.depth = 130;
} else {
if ( vsO.state.mining.breaks[vsO.state.mining.depth - 1] > niterMoveOn ) {
vsO.state.mining.depth = vsO.state.mining.depth + 1;
}
}
}
})();