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; } } } })();