// ==UserScript==
// @name DH2 0% Gameplay QoL
// @namespace
// @version 0.1.0
// @description Literally zero gameplay
// @author neeko
// @match http://*.diamondhunt.co/game.php
// @match https://*.diamondhunt.co/game.php
// @run-at document-idle
// @grant none
// ==/UserScript==
(function() {
'use strict';
const SECONDS = 0x3E8;
const MINUTES = 0x3c * SECONDS;
const HOURS = 0x3c * MINUTES;
var SEEDS = ['redMushroomSeeds', 'redMushroomSeeds', 'redMushroomSeeds', 'redMushroomSeeds']; //dottedGreenLeafSeeds
var FIGHT_DESTINATION = 'volcano'; // 'forests', 'fields', 'caves'
var VESSEL = 'rowBoat'; // 'rowBoat', 'canoe'
var BREWS = ['stardustPotion', 'essencePotion', 'superEssencePotion', 'treePotion', 'seedPotion', 'oilPotion', 'smeltingPotion', 'barPotion', 'superStardustPotion'];
var SMELT_TYPE = 'glass'; // 'glass', 'bronzeBar', 'ironBar', 'silverBar', 'goldBar', 'ancientBar'
var SMELT_AMOUNT = 150;
var SMELT_TIMER = 150 * SECONDS;
setTimeout(function() { $init(); }, 5000);
function $update() {
if(webSocket.readyState > 1)
location.reload();
}
function $vessel(vessel) {
var cmd = ('BOAT=');
sendBytes(cmd + vessel);
console.log('sending', vessel);
}
function $drink(potion) {
var cmd = 'DRINK=';
sendBytes(cmd + potion);
console.log('drinking', potion);
}
function $harvest(patchId) {
var cmd = 'HARVEST=';
sendBytes(cmd + patchId);
console.log('harvesting', patchId);
}
function $plant(seed, patchId) {
var cmd = 'PLANT=';
sendBytes(cmd + seed + '~' + patchId);
console.log('planting', seed, 'in patch:', patchId);
}
function $chop(patch) {
var cmd = 'CHOP_TREE=';
sendBytes(cmd + patch);
console.log('chopping', patch);
}
function $fight(location) {
var cmd = 'FIGHT=';
sendBytes(cmd + location);
console.log('fighting at', location);
}
function $brew(potion, amount) {
var cmd = "BREW=";
sendBytes(cmd + potion + "~" + amount);
console.log('brewing', amount, potion);
}
function $smelt(bar, amount) {
var cmd = 'SMELT=';
sendBytes(cmd + bar + '~' + amount);
console.log('smelting', bar, amount);
}
function $init() {
if(smeltingPerc == "0")
$smelt(SMELT_TYPE, SMELT_AMOUNT);
}
setInterval(function() {
// FARMING
for(var i = 0; i < SEEDS.length; i++) {
if(window["farming-patch-text-" + (i + 1)].innerHTML == "Click to harvest") {
$harvest(i + 1);
}
if(window["farmingPatchTimer" + (i + 1)] > getGrowTime(SEEDS[i]) || window["farmingPatchTimer" + (i + 1)] == "0") { // || window["farmingPatchTimer" + (i + 1)] == "0"
if(window[SEEDS[i]] > 1) {
$plant(SEEDS[i], i + 1);
$harvest(i + 1);
}
}
}
// COMBAT
if(window["fight-cooldown"].innerHTML == "Ready" && combatGlobalCooldown == "0") {
if(energy >= 1000) {
$fight(FIGHT_DESTINATION);
} else if (energy < 1000 & energy >= 50) {
$fight('fields');
}
}
// DRINKING
for(var j = 0; j < BREWS.length; j++) {
if(window[BREWS[j] + "Timer"] == "0") {
if(window[BREWS[j]] > 0) {
$drink(BREWS[j]);
}
}
}
// FISHING
if(window[VESSEL + "Timer"] == "0") {
$vessel(VESSEL);
}
// WOODCUTTING
for(var tree = 1; tree < 7; tree++) {
if(window["wc-div-tree-lbl-" + tree].innerHTML == "(ready)") {
if(window["treeUnlocked" + tree]) {
$chop(tree);
}
}
}
// BREWING
if(dottedGreenLeaf > 0 && vialOfWater > 0 && redMushroom >= 25) {
var reds = Math.floor(redMushroom / 25);
$brew('stardustPotion', reds >= dottedGreenLeaf ? dottedGreenLeaf : reds);
}
}, 5000);
setInterval(function() {
$update();
}, 5 * MINUTES);
setInterval(function() {
if(smeltingPerc == "0")
$smelt(SMELT_TYPE, SMELT_AMOUNT);
}, SMELT_TIMER);
})();