DHM - Idle Again

Automate most of DHM features

  1. // ==UserScript==
  2. // @name DHM - Idle Again
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.5.4.9
  5. // @description Automate most of DHM features
  6. // @author Felipe Dounford
  7. // @require https://greasyfork.org/scripts/461221-hack-timer-js-by-turuslan/code/Hack%20Timerjs%20By%20Turuslan.js?version=1159560
  8. // @require https://greasyfork.org/scripts/478182-pubnub-js/code/PubNub%20JS.js?version=1269788
  9. // @require https://update.greasyfork.org/scripts/482500/1297545/Sortable%20JS.js
  10. // @require https://cdn.jsdelivr.net/npm/emoji-mart@5.5.2/dist/browser.js
  11. // @match https://dhm.idle-pixel.com/
  12. // @icon https://www.google.com/s2/favicons?sz=64&domain=greasyfork.org
  13. // @grant none
  14. // @license MIT
  15. // ==/UserScript==
  16.  
  17.  
  18. (function () {
  19. 'use strict';
  20. document.head.insertAdjacentHTML('beforeend', '<script src="https://cdn.pubnub.com/sdk/javascript/pubnub.7.4.1.js">');
  21. //Variables
  22. window.scriptVars = {toggleGlobal:false, toggleMap:true, toggleGeodeOpen:false, toggleMineralIdentify:false, toggleNecklaceCharge:false, toggleTrain:false, toggleRocket:false, toggleSmelting:true, toggleRefinary:false, toggleCharcoal:false, toggleWoodcutting:true, toggleFarming:false, toggleBones:false, toggleFertilize:false, toggleDrink:false, toggleTreeUpgrade:false, toggleBrew:false, toggleExplore:false, toggleFight:false, toggleResetFight:false, toggleMonsterFind:false, toggleSpell:false, toggleCombatPotion:false, toggleHeal:true, toggleShiny:false, toggleCombatSwap:true, toggleBM:false, toggleCousin:false, toggleBags:false, toggleFieldsBags:false, toggleStatue:false, toggleArtifact:false, toggleBoat:true, toggleEvent:true, scriptTrainAmount:1, scriptRocket:'moon', scriptSmeltingOre:'copper', scriptRefinaryBar:'gold', scriptFoundryWood:'cheapest', scriptTreeIgnore:{tree:false,oakTree:false,willowTree:false,mapleTree: false,redwoodTree:false,pineTree:false,hauntedTree:false,jungleTree:true,lavaTree:false,goldTree:true,magicTree:false,appleTree:false,cactusTree:false,bananaTree:false,palmTree:false,pineappleTree:true,starfruitTree:false,none:true}, scriptBonesIgnore:{bones:true,ashes:false,iceBones:true,zombieBones:true,bloodBones:true,fishBones:true}, scriptFertilize:{redMushroomSeeds:false,dottedGreenLeafSeeds:false,greenLeafSeeds:false,limeLeafSeeds:false,goldLeafSeeds:false,crystalLeafSeeds:false,stripedGreenLeafSeeds:false,stripedGoldLeafSeeds:false,stripedCrystalLeafSeeds:false}, scriptTreeUpgrade:{tree:false,oakTree:false,willowTree:false,mapleTree:false,redwoodTree:false,pineTree:false,hauntedTree:false,jungleTree:true,lavaTree:false,goldTree:true,magicTree:false,appleTree:false,cactusTree:false,bananaTree:false,palmTree:false,pineappleTree:true,starfruitTree:false,none:false},scriptStrength:{fields:false,forests:false,caves:false,volcano:false,northernFields:false,hauntedMansion:false,desert:false,ocean:false,jungle:false,dungeonEntrance:false,dungeon:false,castle:false,cemetery:true,factory:true,hauntedWoods:true,deepOcean:true}, scriptArea:'fields', scriptResetArea:{fields:false,forests:false,caves:false,volcano:false,northernFields:false,hauntedMansion:false,desert:false,ocean:false,jungle:false,dungeonEntrance:false,dungeon:false,castle:false,cemetery:false,factory:false,hauntedWoods:false,deepOcean:false}, scriptMonster:'chicken', scriptCousinArea:'fields', scriptBoatSend:{rowBoat:true,canoeBoat:true,sailBoat:true,highWind:true,steamBoat:true,trawler:true},chatAutoScroll:true};
  23. //Const
  24. const scriptAreaEnergy = {fields:50,forests:250,caves:1000,volcano:5000,northernFields:8000,hauntedMansion:20000,desert:50000,ocean:120000,jungle:200000,dungeonEntrance:500000,dungeon:1000000,castle:3000000,cemetery:7000000,factory:10000000,hauntedWoods:14000000,deepOcean:20000000};
  25. const scriptAreaTimer = {fields:900,forests:1800,caves:3600,volcano:5400,northernFields:3600*2,hauntedMansion:3600*3,desert:3600*4+1800,ocean:3600*6,jungle:3600*8,dungeonEntrance:3600*10,dungeon:3600*12,castle:3600*15,cemetery:3600*16,factory:3600*18,hauntedWoods:3600*20,deepOcean:3600*23};
  26. const artifactArray = ['brokenSwordArtifact', 'cannonBallsArtifact', 'oldCannonArtifact', 'strangeLeafArtifact', 'ancientLogArtifact', 'rainbowFlowerArtifact', 'clayVaseArtifact', 'batWingArtifact', 'skullArtifact', 'sulferArtifact', 'volcanicRockArtifact', 'volcanicSmokeArtifact', 'iceArtifact', 'snowballsArtifact', 'frozenHeadArtifact', 'spiderLegsArtifact', 'broomArtifact', 'hauntedSkullArtifact', 'scorpionsTailArtifact', 'mummyArtifact', 'egyptKingArtifact', 'fossilArtifact', 'scubaArtifact', 'sharksJawArtifact', 'strangerLeafArtifact', 'mossyRockArtifact', 'monkeySkullArtifact', 'strangeJungleLeafArtifact', 'inukshukArtifact', 'hauntedMonkeySkullArtifact', 'dungeonBrickArtifact', 'candleStickArtifact', 'skeletonKingsHeadArtifact', 'lampArtifact', 'brokenShieldArtifact', 'dragonSkullArtifact', 'tombStoneArtifact', 'zombieHandArtifact', 'ancientCrossArtifact', 'cogWheelArtifact', 'robotHelmetArtifact', 'brokenTimeMachineArtifact', 'hauntedLeavesArtifact', 'eyeballArtifact', 'ghostScanPotionArtifact', 'deepFossilArtifact', 'starfishArtifact', 'ancientScubaArtifact'];
  27. const bagsArray = ['fieldsLoot', 'forestsLoot', 'cavesLoot', 'volcanoLoot', 'northernFieldsLoot', 'hauntedMansionLoot', 'desertLoot', 'oceanLoot', 'jungleLoot', 'dungeonEntranceLoot', 'dungeonLoot', 'castleLoot', 'cemeteryLoot', 'factoryLoot', 'hauntedWoodsLoot', 'deepOceanLoot', 'shinyFieldsLoot', 'shinyForestsLoot', 'shinyCavesLoot', 'shinyVolcanoLoot', 'shinyNorthernFieldsLoot', 'shinyHauntedMansionLoot', 'shinyDesertLoot', 'shinyOceanLoot', 'shinyJungleLoot', 'shinyDungeonEntranceLoot', 'shinyDungeonLoot', 'shinyCastleLoot', 'shinyCemeteryLoot', 'shinyFactoryLoot', 'shinyHauntedWoodsLoot', 'shinyDeepOceanLoot'];
  28. var scriptWaitTeleport = true;
  29. const melee = ['rustySword','stinger','ironDagger','skeletonSword','enchantedSkeletonSword','scythe','enchantedScythe','poisonSpear','superPoisonSpear','mace','trident','superPoisonTrident','silverScimitar'];
  30. const ranged = ['bow','superBow','enchantedSuperBow'];
  31. let oldWeapon;
  32. let bestWeapon;
  33. let bestPoison = '';
  34. let bestMage = '';
  35. //const scriptComplexMonsters = ['desertLizard2', 'robotMage', 'bloodGolem', 'bloodDesertLizard2', 'bloodPufferFish']
  36. const cookableFood = ['rawSardine', 'rawChicken', 'rawTuna', 'rawSnail', 'rawPiranha', 'rawSwordfish', 'rawSeaTurtle', 'rawLobster', 'rawEel', 'rawShark', 'rawCrab', 'rawMantaRay', 'rawBloodChicken', 'rawWhale', 'rawRainbowFish'];
  37. const oldHideAllTabs = hideAllTabs;
  38. const blockedHTML = ['<iframe','<button','<script','<html','<link','<div','<footer','onclick','<object','<embed','<form','<meta','onmouseover','onmouseout','onmousemove','<input','<applet','javascript:'];
  39. const ding = new Audio("https://github.com/Dounford-Felipe/DHM-Audio-Alerts/raw/main/ding.wav");
  40.  
  41. window.hideAllTabs = function() {
  42. oldHideAllTabs();
  43. document.getElementById("tab-scriptConfig").style.display = "none";
  44. document.getElementById("tab-scriptConfigMining").style.display = "none";
  45. document.getElementById("tab-scriptConfigCrafting").style.display = "none";
  46. document.getElementById("tab-scriptConfigWoodcutting").style.display = "none";
  47. document.getElementById("tab-scriptConfigFarming").style.display = "none";
  48. document.getElementById("tab-scriptConfigSeeds").style.display = "none";
  49. document.getElementById("tab-scriptConfigBrewing").style.display = "none";
  50. document.getElementById("tab-scriptConfigPotions").style.display = "none";
  51. document.getElementById("tab-scriptConfigExploring").style.display = "none";
  52. document.getElementById("tab-scriptConfigCooking").style.display = "none";
  53. };
  54.  
  55. function autoEvent() {
  56. if (eventName !== 'none' && (eventStatus == 'active' || eventStatus == 'fullActive') && eventLastClicked == 'none') {
  57. sendBytes('CLICKS_EVENT');
  58. }
  59. var glowingInterval = setInterval(function() {
  60. if (eventStatus == 'fullActive') {
  61. sendBytes('CLICKS_EVENT');
  62. } else {
  63. clearInterval(glowingInterval);
  64. }
  65. }, 300);
  66. }
  67.  
  68. function autoMap() {
  69. if (treasureMap !== 0) {
  70. if(treasureMap == 1) {
  71. if (shrimp > 0) {
  72. sendBytes('CONSUME=shrimp~1');
  73. }
  74. }
  75. if(treasureMap == 2) clicksItem('timeMachine');
  76. if(treasureMap == 3) {
  77. if (smeltingCurrentOreType == 'none') {
  78. sendBytes("SMELT=gold~1");
  79. }
  80. }
  81. if(treasureMap == 4) {
  82. if (furnaceSpeedPotion > 0) {
  83. sendBytes('DRINK=furnaceSpeedPotion');
  84. }
  85. }
  86. if(treasureMap == 5) {
  87. if (dottedGreenLeaf > 0) {
  88. sendBytes('SELL=dottedGreenLeaf~1');
  89. }
  90. }
  91. if(treasureMap == 6) viewTreesChopped();
  92. if(treasureMap == 7) clicksItem('bloodCrystals');
  93. }
  94. if (greenTreasureMap !== 0) {
  95. if(greenTreasureMap == 1) {
  96. if (iceBones > 0) {
  97. sendBytes('ADD_BONEMEAL=iceBones~1');
  98. }
  99. }
  100. if(greenTreasureMap == 2) {
  101. if ((charcoalFoundryCurrentOreType == 0 || charcoalFoundryCurrentOreType == 'none') && lava > 0) {
  102. sendBytes('CHARCOAL_FOUNDRY=logs~1');
  103. }
  104. }
  105. if(greenTreasureMap == 3) {
  106. let oldMachineOn = crushersOn;
  107. sendBytes("TURN_ON=crushers~4");
  108. sendBytes("TURN_ON=crushers~"+oldMachineOn);
  109. }
  110. if(greenTreasureMap == 4) {
  111. if (goldLeaf > 0) {
  112. sendBytes('SELL=goldLeaf~1');
  113. }
  114. }
  115. if(greenTreasureMap == 5) clicksItem('titaniumMetalDetector');
  116. if(greenTreasureMap == 6) {
  117. navigate('bloodShop-enrichedPotions');
  118. sendBytes('VISITS_ENRICHED_POTIONS_SHOP');
  119. }
  120. if(greenTreasureMap == 7) clicksItem('wells');
  121. }
  122. }
  123.  
  124. function autoGeodeOpen() {
  125. if (geode1 > 0) {
  126. sendBytes('OPEN_MULTIPLE_GEODE=geode1~'+geode1);
  127. closeSmittysDialogue('dialogue-confirm');
  128. }
  129. if (geode2 > 0) {
  130. sendBytes('OPEN_MULTIPLE_GEODE=geode2~'+geode2);
  131. closeSmittysDialogue('dialogue-confirm');
  132. }
  133. if (geode3 > 0) {
  134. sendBytes('OPEN_MULTIPLE_GEODE=geode3~'+geode3);
  135. closeSmittysDialogue('dialogue-confirm');
  136. }
  137. if (geode4 > 0) {
  138. sendBytes('OPEN_MULTIPLE_GEODE=geode4~'+geode4);
  139. closeSmittysDialogue('dialogue-confirm');
  140. }
  141. if (geode5 > 0) {
  142. sendBytes('OPEN_MULTIPLE_GEODE=geode5~'+geode5);
  143. closeSmittysDialogue('dialogue-confirm');
  144. }
  145. if (geode6 > 0) {
  146. sendBytes('OPEN_MULTIPLE_GEODE=geode6~'+geode6);
  147. closeSmittysDialogue('dialogue-confirm');
  148. }
  149. }
  150.  
  151. function autoIdentify() {
  152. if (limeQuartzMineralUnidentified > 0) {
  153. clicksItem('limeQuartzMineralUnidentified');
  154. closeSmittysDialogue('dialogue-confirm');
  155. }
  156. if (fluoriteMineralUnidentified > 0) {
  157. clicksItem('fluoriteMineralUnidentified');
  158. closeSmittysDialogue('dialogue-confirm');
  159. }
  160. if (topazMineralUnidentified > 0) {
  161. clicksItem('topazMineralUnidentified');
  162. closeSmittysDialogue('dialogue-confirm');
  163. }
  164. if (blueMarbleMineralUnidentified > 0) {
  165. clicksItem('blueMarbleMineralUnidentified');
  166. closeSmittysDialogue('dialogue-confirm');
  167. }
  168. if (sulferMineralUnidentified > 0) {
  169. clicksItem('sulferMineralUnidentified');
  170. closeSmittysDialogue('dialogue-confirm');
  171. }
  172. if (purpleQuartzMineralUnidentified > 0) {
  173. clicksItem('purpleQuartzMineralUnidentified');
  174. closeSmittysDialogue('dialogue-confirm');
  175. }
  176. if (limoniteMineralUnidentified > 0) {
  177. clicksItem('limoniteMineralUnidentified');
  178. closeSmittysDialogue('dialogue-confirm');
  179. }
  180. if (crystalPrismeMineralUnidentified > 0) {
  181. clicksItem('crystalPrismeMineralUnidentified');
  182. closeSmittysDialogue('dialogue-confirm');
  183. }
  184. if (typeof clearMarbleMineralUnidentified !== 'undefined' && clearMarbleMineralUnidentified > 0) {
  185. clicksItem('clearMarbleMineralUnidentified');
  186. closeSmittysDialogue('dialogue-confirm');
  187. }
  188. if (denseMarbleMineralUnidentified > 0) {
  189. clicksItem('denseMarbleMineralUnidentified');
  190. closeSmittysDialogue('dialogue-confirm');
  191. }
  192. if (jadeMineralUnidentified > 0) {
  193. clicksItem('jadeMineralUnidentified');
  194. closeSmittysDialogue('dialogue-confirm');
  195. }
  196. if (opalMineralUnidentified > 0) {
  197. clicksItem('opalMineralUnidentified');
  198. closeSmittysDialogue('dialogue-confirm');
  199. }
  200. if (amethystMineralUnidentified > 0) {
  201. clicksItem('amethystMineralUnidentified');
  202. closeSmittysDialogue('dialogue-confirm');
  203. }
  204. if (tashmarineMineralUnidentified > 0) {
  205. clicksItem('tashmarineMineralUnidentified');
  206. closeSmittysDialogue('dialogue-confirm');
  207. }
  208. if (tanzaniteMineralUnidentified > 0) {
  209. clicksItem('tanzaniteMineralUnidentified');
  210. closeSmittysDialogue('dialogue-confirm');
  211. }
  212. if (seaCrystalMineralUnidentified > 0) {
  213. clicksItem('seaCrystalMineralUnidentified');
  214. closeSmittysDialogue('dialogue-confirm');
  215. }
  216. if (amberMineralUnidentified > 0) {
  217. clicksItem('amberMineralUnidentified');
  218. closeSmittysDialogue('dialogue-confirm');
  219. }
  220. if (smoothPearlMineralUnidentified > 0) {
  221. clicksItem('smoothPearlMineralUnidentified');
  222. closeSmittysDialogue('dialogue-confirm');
  223. }
  224. }
  225.  
  226. function autoNecklaceCharge() {
  227. changeMineralNecklace();
  228. }
  229.  
  230. function autoTrain() {
  231. if (train > 0 && trainTimer < 2 && oil >= 500000 * scriptVars.scriptTrainAmount) {
  232. sendBytes("MANAGE_TRAIN=0");
  233. sendBytes('COLLECT_TRAIN_FORCE');
  234. sendBytes('MANAGE_TRAIN='+scriptVars.scriptTrainAmount);
  235. closeSmittysDialogue('dialogue-confirm2');
  236. } else if (train > 0 && trainTimer == 1 && oil < 500000 * scriptVars.scriptTrainAmount) {
  237. sendBytes("MANAGE_TRAIN=0");
  238. sendBytes('COLLECT_TRAIN_FORCE');
  239. closeSmittysDialogue('dialogue-confirm2');
  240. }
  241. }
  242.  
  243. function autoRocket() {
  244. if (rocketKm == 1) {
  245. sendBytes('MANAGE_ROCKET=collect2');
  246. closeSmittysDialogue('dialogue-confirm');
  247. } else if (rocket == 1 && rocketKm == 0) {
  248. if (scriptVars.scriptRocket == 'Moon' && oil >= 4000000) {
  249. sendBytes('MANAGE_ROCKET=send');
  250. } else if (scriptVars.scriptRocket == 'Mars' && oil >= 15000000) {
  251. sendBytes('MANAGE_ROCKET=send_mars');
  252. } else if (scriptVars.scriptRocket == 'Sun' && oil >= 30000000 && charcoal >= 100) {
  253. sendBytes('MANAGE_ROCKET=send_sun');
  254. }
  255. }
  256. }
  257.  
  258. function autoSmelt() {
  259. if (smeltingCurrentOreType == 'none') {
  260. var oreItems = document.getElementById("sortableOres").getElementsByTagName("li");
  261.  
  262. for (var i = 0; i < oreItems.length; i++) {
  263. var minimumOre = oreItems[i].querySelector(".oreMinimum").value;
  264. var selectedOre = oreItems[i].getAttribute("value");
  265. if (smeltingCurrentOreType == 'none' && window[selectedOre] >= minimumOre && (selectedOre !== 'promethium' || lava >= minimumOre) && (selectedOre !== 'titanium' || charcoal >= minimumOre) && (selectedOre !== 'ancientOre' || plasma >= minimumOre)) {
  266. chooseOreForFurnace(selectedOre);
  267. startSmelting();
  268. closeSmittysDialogue('dialogue-furnace2');
  269. const date = new Date();
  270. const hour = date.getHours();
  271. const min = date.getMinutes();
  272. console.log('['+hour+':'+min+'] '+selectedOre);
  273. break;
  274. }
  275. }
  276. }
  277. }
  278.  
  279. function autoRefine() {
  280. if (barRefineryTimer < 2 && scriptVars.scriptRefinaryBar == 'gold' && oil > 500000 && goldBars > 99) {
  281. clicksItem('goldBarRefinery');
  282. sendBytes('REFINE_GOLD_BARS=goldBars');
  283. closeSmittysDialogue('dialogue-barRefinery');
  284. closeSmittysDialogue('dialogue-confirm');
  285.  
  286. } else if (barRefineryTimer < 2 && scriptVars.scriptRefinaryBar == 'promethium' && oil > 2000000 && promethiumBars > 99) {
  287. clicksItem('goldBarRefinery');
  288. sendBytes('REFINE_GOLD_BARS=promethiumBars');
  289. closeSmittysDialogue('dialogue-barRefinery');
  290. closeSmittysDialogue('dialogue-confirm');
  291. }
  292. }
  293.  
  294. function autoFoundry() {
  295. if (charcoalFoundryCurrentOreType == 0 || charcoalFoundryCurrentOreType == 'none') {
  296. let scriptFoundryWoodLocal = scriptVars.scriptFoundryWood;
  297. if (scriptFoundryWoodLocal == 'cheapest') {
  298. logs > 100 ? scriptFoundryWoodLocal = 'logs'
  299. : oakLogs > 100 ? scriptFoundryWoodLocal = 'oakLogs'
  300. : willowLogs > 100 ? scriptFoundryWoodLocal = 'willowLogs'
  301. : mapleLogs > 100 ? scriptFoundryWoodLocal = 'mapleLogs'
  302. : redwoodLogs > 100 ? scriptFoundryWoodLocal = 'redwoodLogs'
  303. : pineLogs > 100 ? scriptFoundryWoodLocal = 'pineLogs'
  304. : hauntedLogs > 100 ? scriptFoundryWoodLocal = 'hauntedLogs'
  305. : jungleLogs > 100 ? scriptFoundryWoodLocal = 'jungleLogs'
  306. : lavaLogs > 100 ? scriptFoundryWoodLocal = 'lavaLogs'
  307. : goldLogs > 100 ? scriptFoundryWoodLocal = 'goldLogs'
  308. : magicLogs > 100 ? scriptFoundryWoodLocal = 'magicLogs'
  309. : scriptFoundryWoodLocal = 'none';
  310. }
  311. let scriptLava;
  312. switch (scriptFoundryWoodLocal) {
  313. case 'logs':
  314. scriptLava = 1;
  315. break;
  316. case 'oakLogs':
  317. scriptLava = 2;
  318. break;
  319. case 'willowLogs':
  320. scriptLava = 3;
  321. break;
  322. case 'mapleLogs':
  323. scriptLava = 4;
  324. break;
  325. case 'redwoodLogs':
  326. scriptLava = 5;
  327. break;
  328. case 'pineLogs':
  329. scriptLava = 6;
  330. break;
  331. case 'hauntedLogs':
  332. scriptLava = 7;
  333. break;
  334. case 'jungleLogs':
  335. scriptLava = 8;
  336. break;
  337. case 'lavaLogs':
  338. scriptLava = 9;
  339. break;
  340. case 'goldLogs':
  341. scriptLava = 10;
  342. break;
  343. case 'magicLogs':
  344. scriptLava = 11;
  345. break;
  346. default:
  347. break;
  348. }
  349. console.log(scriptFoundryWoodLocal+' used');
  350. if (window[scriptFoundryWoodLocal] > 99 && lava >= scriptLava * 100 && scriptFoundryWoodLocal !== 'none') {
  351. sendBytes('CHARCOAL_FOUNDRY='+scriptFoundryWoodLocal+'~'+100);
  352. closeSmittysDialogue('dialogue-confirm');
  353. }
  354. }
  355. }
  356.  
  357. function autoLumber() {
  358. if (scriptVars.scriptTreeIgnore[tree6] === false && treeTimer6 == 1) {
  359. sendBytes('CHOP_TREE=6');}
  360. if (scriptVars.scriptTreeIgnore[tree5] === false && treeTimer5 == 1) {
  361. sendBytes('CHOP_TREE=5');}
  362. if (scriptVars.scriptTreeIgnore[tree4] === false && treeTimer4 == 1) {
  363. sendBytes('CHOP_TREE=4');}
  364. if (scriptVars.scriptTreeIgnore[tree3] === false && treeTimer3 == 1) {
  365. sendBytes('CHOP_TREE=3');}
  366. if (scriptVars.scriptTreeIgnore[tree2] === false && treeTimer2 == 1) {
  367. sendBytes('CHOP_TREE=2');}
  368. if (scriptVars.scriptTreeIgnore[tree1] === false && treeTimer1 == 1) {
  369. sendBytes('CHOP_TREE=1');}
  370. }
  371.  
  372. function autoPlant() {
  373. if (farmTimer1 < 2 || farmTimer2 < 2 || (farmTimer3 < 2 && farmUnlocked3 == 1) || (farmTimer4 < 2 && farmUnlocked4 == 1) || (farmTimer5 < 2 && farmUnlocked5 == 1) || (farmTimer6 < 2 && farmUnlocked6 == 1)) {
  374. var seedItems = document.getElementById("sortableSeeds").getElementsByTagName("li");
  375.  
  376. for (var i = 0; i < seedItems.length; i++) {
  377. var seedCheckbox = seedItems[i].querySelector(".seed-checkbox");
  378. var selectedSeed = seedItems[i].getAttribute("value"); // Obter o valor do atributo 'value'
  379. if (window[selectedSeed] >= 1 && bonemeal >= seedsArrayGlobal[selectedSeed].bonemealCost){
  380. if (seedCheckbox.checked) {
  381. setBobsAutoReplantSeed(selectedSeed);
  382. closeSmittysDialogue("dialogue-bob");
  383. sendBytes("HARVEST_AND_PLANT_ALL");
  384. setTimeout(function(){closeSmittysDialogue('dialogue-confirm');},300);
  385. }
  386. }
  387. }
  388. }
  389. }
  390.  
  391. function autoBones() {
  392. if (scriptVars.scriptBonesIgnore.bones === false && bones > 0) {
  393. sendBytes('ADD_BONEMEAL=bones~'+bones);}
  394. if (scriptVars.scriptBonesIgnore.ashes === false && ashes > 0) {
  395. sendBytes('ADD_BONEMEAL=ashes~'+ashes);}
  396. if (scriptVars.scriptBonesIgnore.iceBones === false && iceBones > 0) {
  397. sendBytes('ADD_BONEMEAL=iceBones~'+iceBones);}
  398. if (scriptVars.scriptBonesIgnore.zombieBones === false && zombieBones > 0) {
  399. sendBytes('ADD_BONEMEAL=zombieBones~'+zombieBones);}
  400. if (scriptVars.scriptBonesIgnore.bloodBones === false && bloodBones > 0) {
  401. sendBytes('ADD_BONEMEAL=bloodBones~'+bloodBones);}
  402. if (scriptVars.scriptBonesIgnore.fishBones === false && fishBones > 9) {
  403. sendBytes('ADD_BONEMEAL=fishBones~'+(Math.floor(fishBones/10))*10);}
  404. }
  405.  
  406. function autoFertilize() {
  407. if (fertilizeSoilPotion >= 1) {
  408. if (scriptVars.scriptFertilize[farm6] === true && fertilizeSoil6 == 0) {
  409. sendBytes('PLANT=fertilizeSoilPotion~6');}
  410. if (scriptVars.scriptFertilize[farm5] === true && fertilizeSoil5 == 0) {
  411. sendBytes('PLANT=fertilizeSoilPotion~5');}
  412. if (scriptVars.scriptFertilize[farm4] === true && fertilizeSoil4 == 0) {
  413. sendBytes('PLANT=fertilizeSoilPotion~4');}
  414. if (scriptVars.scriptFertilize[farm3] === true && fertilizeSoil3 == 0) {
  415. sendBytes('PLANT=fertilizeSoilPotion~3');}
  416. if (scriptVars.scriptFertilize[farm2] === true && fertilizeSoil2 == 0) {
  417. sendBytes('PLANT=fertilizeSoilPotion~2');}
  418. if (scriptVars.scriptFertilize[farm1] === true && fertilizeSoil1 == 0) {
  419. sendBytes('PLANT=fertilizeSoilPotion~1');}
  420. }
  421. }
  422.  
  423. window.getBonemealNeeded = function() {
  424. let bonemealNeeded = 0;
  425. for (let i = 0; i < seedsArrayGlobal.length; i++) {
  426. bonemealNeeded += window[seedsArrayGlobal[i].itemName] ? seedsArrayGlobal[i].bonemealCost * window[seedsArrayGlobal[i].itemName] : 0;
  427. }
  428. document.getElementById('bonemealNeeded').innerText = bonemealNeeded.toLocaleString('en-us');
  429. };
  430.  
  431. window.getTimeNeeded = function() {
  432. let timeNeeded = 0;
  433. let plotsUnlocked = farmUnlocked6 == 1 ? 6 : farmUnlocked5 == 1 ? 5 : farmUnlocked4 == 1 ? 4 : farmUnlocked3 == 1 ? 3 : 2;
  434. for (let i = 0; i < seedsArrayGlobal.length; i++) {
  435. timeNeeded += window[seedsArrayGlobal[i].itemName] ? seedsArrayGlobal[i].growtime * window[seedsArrayGlobal[i].itemName] : 0;
  436. }
  437. document.getElementById('growTimeNeeded').innerText = formatTime(timeNeeded/10/plotsUnlocked);
  438. };
  439.  
  440. function autoDrink() {
  441. var potionItems = document.getElementById("sortablePotions").getElementsByTagName("li");
  442.  
  443. for (var i = 0; i < potionItems.length; i++) {
  444. var drinkCheckbox = potionItems[i].querySelector(".drink-checkbox");
  445. var selectedPotion = potionItems[i].getAttribute("value"); // Obter o valor do atributo 'value'
  446.  
  447. if (drinkCheckbox.checked && window[selectedPotion] > 0 && window[selectedPotion+'Timer'] == 0) {
  448. sendBytes('DRINK='+selectedPotion);
  449. setTimeout(function(){closeSmittysDialogue('dialogue-confirm');},300);
  450. }
  451. }
  452. }
  453.  
  454. function autoTreeUpgrade() {
  455. if (woodcuttingUpgradePotionCooldown == 0 && woodcuttingUpgradePotion >= 1) {
  456. if (scriptVars.scriptTreeUpgrade[tree6] === true && woodcuttingUpgradePotionUsed6 == 0) {
  457. sendBytes('POTION_UPGRADE_TREE=6');}
  458. if (scriptVars.scriptTreeUpgrade[tree5] === true && woodcuttingUpgradePotionUsed5 == 0) {
  459. sendBytes('POTION_UPGRADE_TREE=5');}
  460. if (scriptVars.scriptTreeUpgrade[tree4] === true && woodcuttingUpgradePotionUsed4 == 0) {
  461. sendBytes('POTION_UPGRADE_TREE=4');}
  462. if (scriptVars.scriptTreeUpgrade[tree3] === true && woodcuttingUpgradePotionUsed3 == 0) {
  463. sendBytes('POTION_UPGRADE_TREE=3');}
  464. if (scriptVars.scriptTreeUpgrade[tree2] === true && woodcuttingUpgradePotionUsed2 == 0) {
  465. sendBytes('POTION_UPGRADE_TREE=2');}
  466. if (scriptVars.scriptTreeUpgrade[tree1] === true && woodcuttingUpgradePotionUsed1 == 0) {
  467. sendBytes('POTION_UPGRADE_TREE=1');}
  468. }
  469. }
  470.  
  471. function autoBrew() {
  472. var potionItems = document.getElementById("sortablePotions").getElementsByTagName("li");
  473.  
  474. for (var i = 0; i < potionItems.length; i++) {
  475. var drinkCheckbox = potionItems[i].querySelector(".drink-checkbox");
  476. var brewCheckbox = potionItems[i].querySelector(".brew-checkbox");
  477. var selectedPotion = potionItems[i].getAttribute("value"); // Obter o valor do atributo 'value'
  478.  
  479. if (brewCheckbox.checked && drinkCheckbox.checked && window[selectedPotion] == 0) {
  480. sendBytes('BREW='+selectedPotion+'~1');
  481. setTimeout(function(){closeSmittysDialogue('dialogue-confirm');},300);
  482. }
  483. }
  484. }
  485.  
  486. function autoExplore() {
  487. if (explorerCooldown == 0) {
  488. let scriptAreaLocal = scriptVars.scriptArea;
  489. if (scriptAreaLocal == 'dungeon' && dungeonKey == 0) {scriptAreaLocal = 'dungeonEntrance';}
  490. let areaCost = scriptAreaEnergy[scriptAreaLocal];
  491. if (totalDonations >= 32) {areaCost = scriptAreaEnergy[scriptAreaLocal] * 0.8;}
  492. if (energy < areaCost) {scriptAreaLocal = 'fields';}
  493. sendBytes('EXPLORE='+scriptAreaLocal);
  494. const date = new Date();
  495. const hour = date.getHours();
  496. const min = date.getMinutes();
  497. console.log('['+hour+':'+min+'] '+scriptAreaLocal);
  498. if (scriptVars.toggleShiny == true || scriptVars.toggleMonsterFind == true) {scriptWaitTeleport = true;} else {scriptWaitTeleport = false;}
  499. bestWeapon = typeof silverScimitar !== 'undefined' ? 'silverScimitar' : typeof superPoisonTrident !== 'undefined' ? 'superPoisonTrident' : typeof trident !== 'undefined' ? 'trident' : typeof mace !== 'undefined' ? 'mace' : typeof scythe !== 'undefined' ? 'scythe' : 'skeletonSword';
  500. bestPoison = typeof superPoisonTrident !== 'undefined' ? 'superPoisonTrident' : superPoisonSpear > 0 ? 'superPoisonSpear' : typeof poisonSpear !== 'undefined' ? 'poisonSpear' : '';
  501. bestMage = (bloodReaperTop > 0 && bloodReaperBottom > 0 && bloodReaperHood > 0) ? 'bloodReaper' : (darkMageTop > 0 && darkMageBottom > 0 && darkMageHood > 0) ? 'darkMage' : '';
  502. }
  503. }
  504.  
  505. function autoFight() {
  506. if (exploringArea !== 'none' && fightDone === 0) {
  507. var teleportCooldown = (teleportSpellUpgraded === 1) ? 300 : 900;
  508. scriptWaitTeleport = (explorerCooldown > teleportCooldown + 10) ? true : false;
  509. if (scriptWaitTeleport === false || (scriptWaitTeleport === true && teleportSpellCooldown === 0)) {
  510. if (infectedTimer > 0) {sendBytes('DRINK=cureInfectionPotion');}
  511. sendBytes('LOOK_FOR_FIGHT');
  512. window.autoPoison();
  513. setTimeout(function(){if (monsterName == 'pufferFish'){clicksItem('bow');clicksItem('superBow');clicksItem('enchantedSuperBow');}},3000);
  514. }
  515. if (scriptVars.toggleShiny == false && scriptVars.toggleMonsterFind == false) {scriptWaitTeleport = false;}
  516. }
  517. }
  518.  
  519. window.autoPoison = function() {
  520. if (bestPoison !== '' && (ignoreDefenceCombatPotionUsed == 0 || monsterDefence == 0 || ignoreDefenceCombatPotionEnemyTimer != 0)) {
  521. clicksItem(bestPoison);
  522. const poisonInterval = setInterval(function(){
  523. if (poisonEnemyTimer == 1) {
  524. clicksItem(presetWeapon1);
  525. clearInterval(poisonInterval);
  526. }
  527. }, 2000);
  528. }
  529. };
  530.  
  531. function autoReset() {
  532. if (exploringArea !== 'none' && fightDone == 1 && monsterName == 'none' && resetFightingPotion >= 1 && resetFightingPotionUsed == 0) {
  533. if (scriptVars.scriptResetArea[exploringArea] === true) {
  534. sendBytes('DRINK=resetFightingPotion');
  535. }
  536. }
  537. }
  538.  
  539. function autoMonsterHunt() {
  540. if (monsterName !== 'none' && exploringArea !== 'none' && (scriptVars.toggleMonsterFind == false || (((scriptVars.scriptMonster == 'ghost' && monsterName !== 'ghost') || (scriptVars.scriptMonster == 'lizard' && (monsterName !== 'lizard' && monsterName !== 'bloodLizard'))) || (scriptVars.scriptMonster !== 'ghost' && scriptVars.scriptMonster !== 'lizard' && !monsterName.toLocaleLowerCase().includes(scriptVars.scriptMonster.toLocaleLowerCase())))) && !shield.includes('Feed') && monsterName !== 'gemGoblin' && monsterName !== 'bloodGemGoblin' && shinyMonster == 0) {
  541. sendBytes('CAST_COMBAT_SPELL=teleportSpell');
  542. }
  543. var teleportCooldown = (teleportSpellUpgraded == 1) ? 300 : 900;
  544. scriptWaitTeleport = (explorerCooldown > teleportCooldown + 10) ? true : false;
  545. }
  546.  
  547. function autoHeal() {
  548. if (monsterName !== 'none' && heroHp == 0 && hpCombatPotionUsed == 0 && (hpCombatPotion >= 1 || hpCombatPotionFree == 1)){
  549. sendBytes('DRINK_COMBAT_POTION=hpCombatPotion');
  550. } else if (monsterName !== 'none' && heroHp == 0 && superHpCombatPotionUsed == 0 && (superHpCombatPotion >= 1 || typeof superHpCombatPotionFree !== 'undefined')) {
  551. sendBytes('DRINK_COMBAT_POTION=superHpCombatPotion');
  552. } else if (exploringArea !== 'none' && monsterName !== 'none' && heroHp == 0 && teleportSpellCooldown == 0 && teleportSpell == 1) {
  553. sendBytes('CAST_COMBAT_SPELL=teleportSpell');
  554. }
  555. }
  556.  
  557. function autoSpell() {
  558. if (monsterName !== 'none') {
  559. if (monsterName !== 'none' && fireSpell == 1 && fireSpellCooldown == 0) {
  560. if (bestMage != '') {
  561. let oldHead = head;
  562. let oldBody = body;
  563. let oldLeg = leg;
  564. clicksItem(bestMage+'Hood');
  565. clicksItem(bestMage+'Top');
  566. clicksItem(bestMage+'Bottom');
  567. if (staff >= 1) {
  568. oldWeapon = (poisonEnemyTimer == 0 && (ignoreDefenceCombatPotionUsed == 0 || monsterDefence == 0 || ignoreDefenceCombatPotionEnemyTimer != 0)) ? bestPoison : (lifeStealSpellEnemyTimer != 0 && ranged.includes(presetWeapon1)) ? bestWeapon : presetWeapon1;
  569. clicksItem('staff');
  570. }
  571. sendBytes('CAST_COMBAT_SPELL=fireSpell');
  572. if (monsterName == 'bloodGolem') {
  573. clicksItem(oldHead);
  574. clicksItem(oldBody);
  575. clicksItem(oldLeg);
  576. } else {
  577. clicksItem(presetHead1);
  578. clicksItem(presetBody1);
  579. clicksItem(presetLeg1);
  580. }
  581. clicksItem(oldWeapon);
  582. if (weapon == 'staff') {
  583. oldWeapon = (poisonEnemyTimer == 0 && (ignoreDefenceCombatPotionUsed == 0 || monsterDefence == 0 || ignoreDefenceCombatPotionEnemyTimer != 0)) ? bestPoison : (lifeStealSpellEnemyTimer != 0 && ranged.includes(presetWeapon1)) ? bestWeapon : presetWeapon1;
  584. clicksItem(oldWeapon);
  585. }
  586. } else {
  587. sendBytes('CAST_COMBAT_SPELL=fireSpell');
  588. }
  589. }
  590. if (monsterName !== 'none' && reflectSpell == 1 && reflectSpellCooldown == 0) {
  591. if ((monsterName !== 'robotMage' || robotMageCharge !== 0) && (monsterName !== 'dragon' || dragonFireCharge == 4) && (!monsterName.includes('keletonCemetery') || monsterCharge !== 0) && reflectSpellEnemyTimer == 0) {
  592. sendBytes('CAST_COMBAT_SPELL=reflectSpell');
  593. }
  594. }
  595. if (monsterName !== 'none' && thunderStrikeSpell == 1 && thunderStrikeSpellCooldown == 0) {
  596. if (sandstormSpellUpgraded == 1) {
  597. if (sandstormSpellEnemyTimer > 0 || sandstormSpellCooldown > 10) {
  598. if (bestMage != '') {
  599. let oldHead = head;
  600. let oldBody = body;
  601. let oldLeg = leg;
  602. clicksItem(bestMage+'Hood');
  603. clicksItem(bestMage+'Top');
  604. clicksItem(bestMage+'Bottom');
  605. if (staff >= 1) {
  606. oldWeapon = (poisonEnemyTimer == 0 && (ignoreDefenceCombatPotionUsed == 0 || monsterDefence == 0 || ignoreDefenceCombatPotionEnemyTimer != 0)) ? bestPoison : (lifeStealSpellEnemyTimer != 0 && ranged.includes(presetWeapon1)) ? bestWeapon : presetWeapon1;
  607. clicksItem('staff');
  608. }
  609. sendBytes('CAST_COMBAT_SPELL=thunderStrikeSpell');
  610. if (monsterName == 'bloodGolem') {
  611. clicksItem(oldHead);
  612. clicksItem(oldBody);
  613. clicksItem(oldLeg);
  614. } else {
  615. clicksItem(presetHead1);
  616. clicksItem(presetBody1);
  617. clicksItem(presetLeg1);
  618. }
  619. clicksItem(oldWeapon);
  620. if (weapon == 'staff') {
  621. oldWeapon = (poisonEnemyTimer == 0 && (ignoreDefenceCombatPotionUsed == 0 || monsterDefence == 0 || ignoreDefenceCombatPotionEnemyTimer != 0)) ? bestPoison : (lifeStealSpellEnemyTimer != 0 && ranged.includes(presetWeapon1)) ? bestWeapon : presetWeapon1;
  622. clicksItem(oldWeapon);
  623. }
  624. } else {
  625. sendBytes('CAST_COMBAT_SPELL=thunderStrikeSpell');
  626. }
  627. }
  628. } else {
  629. if (bestMage != '') {
  630. let oldHead = head;
  631. let oldBody = body;
  632. let oldLeg = leg;
  633. clicksItem(bestMage+'Hood');
  634. clicksItem(bestMage+'Top');
  635. clicksItem(bestMage+'Bottom');
  636. if (staff >= 1) {
  637. oldWeapon = (poisonEnemyTimer == 0 && (ignoreDefenceCombatPotionUsed == 0 || monsterDefence == 0 || ignoreDefenceCombatPotionEnemyTimer != 0)) ? bestPoison : (lifeStealSpellEnemyTimer != 0 && ranged.includes(presetWeapon1)) ? bestWeapon : presetWeapon1;
  638. clicksItem('staff');
  639. }
  640. sendBytes('CAST_COMBAT_SPELL=thunderStrikeSpell');
  641. if (monsterName == 'bloodGolem') {
  642. clicksItem(oldHead);
  643. clicksItem(oldBody);
  644. clicksItem(oldLeg);
  645. } else {
  646. clicksItem(presetHead1);
  647. clicksItem(presetBody1);
  648. clicksItem(presetLeg1);
  649. }
  650. clicksItem(oldWeapon);
  651. if (weapon == 'staff') {
  652. oldWeapon = (poisonEnemyTimer == 0 && (ignoreDefenceCombatPotionUsed == 0 || monsterDefence == 0 || ignoreDefenceCombatPotionEnemyTimer != 0)) ? bestPoison : (lifeStealSpellEnemyTimer != 0 && ranged.includes(presetWeapon1)) ? bestWeapon : presetWeapon1;
  653. clicksItem(oldWeapon);
  654. }
  655. } else {
  656. sendBytes('CAST_COMBAT_SPELL=thunderStrikeSpell');
  657. }
  658. }
  659. }
  660. if (monsterName !== 'none' && lifeStealSpell == 1 && lifeStealSpellCooldown == 0 && heroHp <= 8) {
  661. sendBytes('CAST_COMBAT_SPELL=lifeStealSpell');
  662. if (ranged.includes(weapon)) {clicksItem(bestWeapon);}
  663. }
  664. if (monsterName !== 'none' && sandstormSpell == 1 && typeof sandstormSpellCooldown !== 'undefined') {
  665. if (sandstormSpellCooldown == 0) {
  666. if (bestMage != '') {
  667. let oldHead = head;
  668. let oldBody = body;
  669. let oldLeg = leg;
  670. clicksItem(bestMage+'Hood');
  671. clicksItem(bestMage+'Top');
  672. clicksItem(bestMage+'Bottom');
  673. if (staff >= 1) {
  674. oldWeapon = (poisonEnemyTimer == 0 && (ignoreDefenceCombatPotionUsed == 0 || monsterDefence == 0 || ignoreDefenceCombatPotionEnemyTimer != 0)) ? bestPoison : (lifeStealSpellEnemyTimer != 0 && ranged.includes(presetWeapon1)) ? bestWeapon : presetWeapon1;
  675. clicksItem('staff');
  676. }
  677. sendBytes('CAST_COMBAT_SPELL=sandstormSpell');
  678. if (monsterName == 'bloodGolem') {
  679. clicksItem(oldHead);
  680. clicksItem(oldBody);
  681. clicksItem(oldLeg);
  682. } else {
  683. clicksItem(presetHead1);
  684. clicksItem(presetBody1);
  685. clicksItem(presetLeg1);
  686. }
  687. clicksItem(oldWeapon);
  688. if (weapon == 'staff') {
  689. oldWeapon = (poisonEnemyTimer == 0 && (ignoreDefenceCombatPotionUsed == 0 || monsterDefence == 0 || ignoreDefenceCombatPotionEnemyTimer != 0)) ? bestPoison : (lifeStealSpellEnemyTimer != 0 && ranged.includes(presetWeapon1)) ? bestWeapon : presetWeapon1;
  690. clicksItem(oldWeapon);
  691. }
  692. } else {
  693. sendBytes('CAST_COMBAT_SPELL=sandstormSpell');
  694. }
  695. }
  696. }
  697. }
  698. }
  699.  
  700. function autoCombatPot() {
  701. if (monsterName !== 'none') {
  702. if ((freezeCombatPotionFree == 1 || freezeCombatPotion >= 1) && freezeCombatPotionUsed == 0) {setTimeout(function(){sendBytes('DRINK_COMBAT_POTION=freezeCombatPotion');},19000);}
  703. if (typeof ignoreDefenceCombatPotion !== 'undefined' && (ignoreDefenceCombatPotionFree == 1 || ignoreDefenceCombatPotion >= 1) && ignoreDefenceCombatPotionUsed == 0) {sendBytes('DRINK_COMBAT_POTION=ignoreDefenceCombatPotion');}
  704. if ((ghostScanCombatPotionFree == 1 || ghostScanCombatPotion >= 1) && ghostScanCombatPotionUsed == 0) {sendBytes('DRINK_COMBAT_POTION=ghostScanCombatPotion');}
  705. setTimeout(function(){if (monsterName !== 'none' && scriptVars.scriptStrength[exploringArea] == true && (strengthCombatPotionFree == 1 || strengthCombatPotion >= 1) && strengthCombatPotionUsed == 0) {sendBytes('DRINK_COMBAT_POTION=strengthCombatPotion');}},3000);
  706. }
  707. }
  708.  
  709. function autoCombatSwap() {
  710. if (typeof monsterName === 'string' && monsterName !== 'none') {
  711. if (monsterName.includes('castleMage') || monsterName.includes('robotMage') || monsterName.includes('pufferFish')) {
  712. if ((monsterName == 'castleMage2' || monsterName == 'robotMage2' || monsterName == 'pufferFish') && melee.includes(weapon)) {
  713. clicksItem('bow');
  714. clicksItem('superBow');
  715. clicksItem('enchantedSuperBow');
  716. } else if ((monsterName == 'castleMage3' || monsterName == 'robotMage') && ranged.includes(weapon)){
  717. clicksItem('scythe');
  718. clicksItem('mace');
  719. clicksItem('trident');
  720. }
  721. }
  722. }
  723. }
  724.  
  725. function autoBM() {
  726. if ($('#explore-select-area').children(':last').attr("onclick") == 'setAreaScreenByIndex(17);navigate("explore");' && bloodMoonTimer <= 60) {
  727. sendBytes('STARE_BLOOD_MOON');
  728. setTimeout(function(){closeSmittysDialogue('dialogue-confirm');},300);
  729. }
  730. }
  731.  
  732. function autoCousin() {
  733. if (typeof goblinExploringArea == 'undefined' || goblinExploringArea == 'none') {
  734. let scriptCousinAreaLocal = scriptVars.scriptCousinArea;
  735. if (energy < scriptAreaEnergy[scriptCousinAreaLocal]) {scriptCousinAreaLocal = 'fields';}
  736. goblinCousin=1;
  737. sendBytes('EXPLORE_GOBLIN='+scriptCousinAreaLocal);
  738. setTimeout(function(){closeSmittysDialogue('dialogue-confirm');},300);
  739. }
  740. }
  741.  
  742. function autoBags() {
  743. for (var i = 0; i < bagsArray.length; i++) {
  744. var bag = bagsArray[i];
  745. if (window[bag] > 0) {
  746. sendBytes('OPEN_LOOT_MULTI='+bag+'~'+window[bag]);
  747. closeSmittysDialogue('dialogue-confirm');
  748. }
  749. }
  750. }
  751.  
  752. function autoFieldsBags() {
  753. if (window['fieldsLoot'] > 0) {
  754. sendBytes('OPEN_LOOT_MULTI=fieldsLoot~'+window['fieldsLoot']);
  755. closeSmittysDialogue('dialogue-confirm');
  756. }
  757. if (window['shinyFieldsLoot'] > 0) {
  758. sendBytes('OPEN_LOOT_MULTI=shinyFieldsLoot~'+window['shinyFieldsLoot']);
  759. closeSmittysDialogue('dialogue-confirm');
  760. }
  761. }
  762.  
  763. function autoStatue() {
  764. for (var i = 0; i < exploringMetalDetectorStatuesGlobal.length; i++) {
  765. var statue = exploringMetalDetectorStatuesGlobal[i];
  766. if (window[statue] > 0) {
  767. sendBytes('SELL_ALL_STATUES');
  768. closeSmittysDialogue('dialogue-confirm');
  769. break;
  770. }
  771. }
  772. }
  773.  
  774. function autoArtifact() {
  775. for (var i = 0; i < artifactArray.length; i++) {
  776. var artifact = artifactArray[i];
  777. if (window[artifact] > 0) {
  778. sendBytes('CONVERT_ALL_ARTIFACTS');
  779. closeSmittysDialogue('dialogue-confirm');
  780. break;
  781. }
  782. }
  783. }
  784.  
  785. window.cookAll = function() {
  786. for (let i = 0; i < cookableFood.length; i++) {
  787. if (window[cookableFood[i]] > 0) {sendBytes('COOK='+cookableFood[i]+'~'+window[cookableFood[i]]);}
  788. }
  789. };
  790.  
  791. window.getHeatNeeded = function() {
  792. let heatNeeded = 0;
  793. for (let i = 0; i < cookableFood.length; i++) {
  794. heatNeeded += foodArrayGlobal[cookableFood[i]].heatRequired * window[cookableFood[i]];
  795. }
  796. document.getElementById('heatNeeded').innerText = heatNeeded.toLocaleString('en-us');
  797. };
  798.  
  799. function autoBoat() {
  800. if (rowBoat == 1 && scriptVars.scriptBoatSend.rowBoat == true && rowBoatTimer < 2) {
  801. if (bait > 4){
  802. sendBytes('CLICKS_BOAT=rowBoat');
  803. closeSmittysDialogue('dialogue-confirm2');
  804. } else {clicksItem('rowBoat');closeSmittysDialogue('dialogue-confirm2');}
  805. }
  806. if (canoeBoat == 1 && scriptVars.scriptBoatSend.canoeBoat == true && canoeBoatTimer < 2) {
  807. if (bait > 24) {
  808. sendBytes('CLICKS_BOAT=canoeBoat');
  809. closeSmittysDialogue('dialogue-confirm2');
  810. } else {clicksItem('canoeBoat');closeSmittysDialogue('dialogue-confirm2');}
  811. }
  812. if (scriptVars.scriptBoatSend.highWind == true) {
  813. if (sailBoat == 1 && scriptVars.scriptBoatSend.sailBoat == true && currentWind > 1 && sailBoatTimer < 2) {
  814. if (bait > 99) {
  815. sendBytes('CLICKS_BOAT=sailBoat');
  816. closeSmittysDialogue('dialogue-confirm2');
  817. } else {clicksItem('sailBoat');closeSmittysDialogue('dialogue-confirm2');}
  818. }
  819. } else if (sailBoat == 1 && scriptVars.scriptBoatSend.sailBoat == true && sailBoatTimer < 2) {
  820. if (bait > 99) {
  821. sendBytes('CLICKS_BOAT=sailBoat');
  822. closeSmittysDialogue('dialogue-confirm2');
  823. } else {clicksItem('sailBoat');closeSmittysDialogue('dialogue-confirm2');}
  824. }
  825. if (steamBoat == 1 && scriptVars.scriptBoatSend.steamBoat == true && steamBoatTimer < 2) {
  826. if (bait > 249) {
  827. sendBytes('CLICKS_BOAT=steamBoat');
  828. closeSmittysDialogue('dialogue-confirm2');
  829. } else {clicksItem('steamBoat');closeSmittysDialogue('dialogue-confirm2');}
  830. }
  831. if (trawler == 1 && scriptVars.scriptBoatSend.trawler == true && trawlerTimer < 2) {
  832. if (bait > 499) {
  833. sendBytes('CLICKS_BOAT=trawler');
  834. closeSmittysDialogue('dialogue-confirm2');
  835. } else {clicksItem('trawler');closeSmittysDialogue('dialogue-confirm2');}
  836. }
  837. }
  838.  
  839. window.autoCityUnlock = function() {
  840. sendBytes('CLICKS_SHOP_VOTE=9');
  841. sendBytes("COLLECT_VOTES");
  842. };
  843.  
  844. function loadUserVars() {
  845. let key = `idleAgain-${window.username}`;
  846. if (localStorage.getItem(key)) {
  847. scriptVars = JSON.parse(localStorage.getItem(key));
  848. }
  849. bestWeapon = typeof silverScimitar !== 'undefined' ? 'silverScimitar' : typeof superPoisonTrident !== 'undefined' ? 'superPoisonTrident' : typeof trident !== 'undefined' ? 'trident' : typeof mace !== 'undefined' ? 'mace' : typeof scythe !== 'undefined' ? 'scythe' : 'skeletonSword';
  850. bestPoison = typeof superPoisonTrident !== 'undefined' ? 'superPoisonTrident' : superPoisonSpear > 0 ? 'superPoisonSpear' : typeof poisonSpear !== 'undefined' ? 'poisonSpear' : '';
  851. bestMage = (bloodReaperTop > 0 && bloodReaperBottom > 0 && bloodReaperHood > 0) ? 'bloodReaper' : (darkMageTop > 0 && darkMageBottom > 0 && darkMageHood > 0) ? 'darkMage' : '';
  852. if (typeof scriptVars.toggleCombatSwap == 'undefined') {
  853. scriptVars.toggleCombatSwap = true;
  854. }
  855. if (typeof scriptVars.toggleBM == 'undefined') {
  856. scriptVars.toggleBM = false;
  857. }
  858. if (typeof scriptVars.toggleMap == 'undefined') {
  859. scriptVars.toggleMap = true;
  860. }
  861. if (typeof scriptVars.scriptStrength == 'undefined') {
  862. scriptVars.scriptStrength = {fields:false,forests:false,caves:false,volcano:false,northernFields:false,hauntedMansion:false,desert:false,ocean:false,jungle:false,dungeonEntrance:false,dungeon:false,castle:false,cemetery:true,factory:true,hauntedWoods:true,deepOcean:true};
  863. }
  864. if (typeof scriptVars.chatAutoScroll == 'undefined') {
  865. scriptVars.chatAutoScroll = true;
  866. }
  867. }
  868.  
  869. window.autoChangeVar = function(variName,variValue,id) {
  870. const date = new Date();
  871. const hour = date.getHours();
  872. const min = date.getMinutes();
  873. console.log('['+hour+':'+min+'] '+variName+' '+variValue+' '+id);
  874. let key = `idleAgain-${window.username}`;
  875. scriptVars[variName] = variValue;
  876. localStorage.setItem(key, JSON.stringify(scriptVars));
  877. if (typeof id !== 'undefined') {
  878. if (variValue == true) {
  879. document.getElementById(id).style.color = "green";
  880. } else {
  881. document.getElementById(id).style.color = "red";
  882. }
  883. console.log(id);
  884. }
  885. };
  886.  
  887. window.autoChangeObject = function(variName,variKey,variValue,id) {
  888. const date = new Date();
  889. const hour = date.getHours();
  890. const min = date.getMinutes();
  891. console.log('['+hour+':'+min+'] '+variName+' '+variKey+':'+variValue+' '+id);
  892. let key = `idleAgain-${window.username}`;
  893. scriptVars[variName][variKey] = variValue;
  894. localStorage.setItem(key, JSON.stringify(scriptVars));
  895. if (typeof id !== 'undefined') {
  896. if (variValue == true) {
  897. document.getElementById(id).style.color = "green";
  898. } else {
  899. document.getElementById(id).style.color = "red";
  900. }
  901. }
  902. };
  903.  
  904. window.toggleAutoLogin = function() {
  905. localStorage.setItem('autoLogin', !JSON.parse(localStorage.getItem('autoLogin')));
  906. if (JSON.parse(localStorage.getItem('autoLogin')) == true) {
  907. document.getElementById('scriptLoginToggle').style.color = "green";
  908. } else {
  909. document.getElementById('scriptLoginToggle').style.color = "red";
  910. }
  911. };
  912.  
  913. function scriptAddTabs() {
  914. let style = document.createElement('style');
  915. style.innerHTML = `
  916. .idleAgainConfTable {
  917. cursor: pointer;
  918. border: 1px solid grey;
  919. border-radius: 6px;
  920. margin: 10px 7px;
  921. background: #1a1a1a;
  922. font-size: 32px;
  923. }
  924. .idleAgainConfTd {
  925. text-align:right;
  926. padding-right:20px;
  927. width:100%;
  928. }
  929. .idleAgainSortables {
  930. border-radius: 6px;
  931. background: #1a1a1a;
  932. color: white;
  933. justify-content: space-between;
  934. display: flex;
  935. }
  936. .sortableItem {
  937. border-radius: 6px;
  938. background: #1a1a1a !important;
  939. color: white !important;
  940. justify-content: space-between;
  941. display: flex;
  942. }`;
  943. document.head.appendChild(style);
  944. let miscTab = document.querySelectorAll("#tab-misc > .main-button")[2];
  945. let scriptConfBar = `<div onclick="navigate('scriptConfig')" class="main-button" style="cursor: pointer;">
  946. <table>
  947. <tbody><tr>
  948. <td><img src="images/whiteGear.png" class="img-small"></td>
  949. <td style="text-align:right;padding-right:20px;font-size:12pt;">SCRIPT CONFIG</td>
  950. </tr>
  951. </tbody></table>
  952. </div>`;
  953. miscTab.insertAdjacentHTML('afterend', scriptConfBar);
  954. let chatDiv = `<div id="div-chat" style="margin-top: 10px;border: 1px solid silver;background: linear-gradient(rgb(238, 238, 238), rgb(221, 221, 221));padding: 5px;">
  955. <div style="display: none;position: fixed;top:20vh;" id="div-emojis"></div>
  956. <div style="margin-bottom:5px;font-weight: bold;color: black;justify-content: space-between;display: flex;">
  957. <div>
  958. Chat Box
  959. <button onclick="window.autoScroll()" style="cursor: pointer;">
  960. Auto Scroll <img src="images/check.png" class="img-tiny" id="scriptAutoScroll">
  961. </button>
  962. </div>
  963. <button onclick="window.clearChat()">Clear</button>
  964. </div>
  965. <div id="messages" style="border: 1px solid grey;background-color: white;height: 200px;padding-left: 5px;overflow-y: auto;color:black;user-select:text;">
  966.  
  967. </div>
  968. <input id="message-body" type="text" maxlength="150" size="100%" onkeydown="window.handleKeyDown(event)" style="margin-top: 5px;">
  969. <div style="margin-top: 5px;justify-content: space-between;display: flex;">
  970. <button onclick="window.sendChat()">Send</button>
  971. <div>
  972. <button onclick="window.chatHelp()" style="cursor: pointer;">HELP</button>
  973. <button style="cursor: pointer;border: 1px solid black;border-radius: 12px;padding: 2px;" id="emojis">&#128512;</button>
  974. </div>
  975. </div>
  976. </div>`
  977. let scriptConfTab = `<div id="tab-scriptConfig" style="display:none">
  978. <div class="main-button-lighter">
  979. <table>
  980. <tbody>
  981. <tr onclick="navigate('main');playPreviousMenuSound();" style="cursor: pointer;">
  982. <td><img src="images/back.png" class="img-small"></td>
  983. <td class="back-label">BACK</td>
  984. </tr>
  985. </tbody>
  986. </table>
  987. </div>
  988. <table class="idleAgainConfTable">
  989. <tbody>
  990. <tr id="scriptGlobalToggle" onclick="window.autoChangeVar('toggleGlobal',!scriptVars.toggleGlobal,this.id)" style="cursor: pointer; color: green;">
  991. <td style="padding-left: 10px;"><img src="images/whiteGear.png" class="img-medium"></td>
  992. <td class="idleAgainConfTd">SCRIPT TOGGLE</td>
  993. </tr>
  994. </tbody>
  995. </table>
  996. <table class="idleAgainConfTable">
  997. <tbody>
  998. <tr id="scriptMiningTogglesBar" onclick="navigate('scriptConfigMining')" style="cursor: pointer; color: white;">
  999. <td style="padding-left: 10px;"><img src="images/miningSkill.png" class="img-medium"></td>
  1000. <td class="idleAgainConfTd">MINING TOGGLES</td>
  1001. </tr>
  1002. </tbody>
  1003. </table>
  1004. <table class="idleAgainConfTable">
  1005. <tbody>
  1006. <tr id="scriptCraftingTogglesBar" onclick="navigate('scriptConfigCrafting')" style="cursor: pointer; color: white;">
  1007. <td style="padding-left: 10px;"><img src="images/craftingSkill.png" class="img-medium"></td>
  1008. <td class="idleAgainConfTd">CRAFTING TOGGLES</td>
  1009. </tr>
  1010. </tbody>
  1011. </table>
  1012. <table class="idleAgainConfTable">
  1013. <tbody>
  1014. <tr id="scriptWoodcuttingTogglesBar" onclick="navigate('scriptConfigWoodcutting')" style="cursor: pointer; color: white;">
  1015. <td style="padding-left: 10px;"><img src="images/woodcuttingSkill.png" class="img-medium"></td>
  1016. <td class="idleAgainConfTd">WOODCUTTING TOGGLES</td>
  1017. </tr>
  1018. </tbody>
  1019. </table>
  1020. <table class="idleAgainConfTable">
  1021. <tbody>
  1022. <tr id="scriptFarmingTogglesBar" onclick="navigate('scriptConfigFarming')" style="cursor: pointer; color: white;">
  1023. <td style="padding-left: 10px;"><img src="images/farmingSkill.png" class="img-medium"></td>
  1024. <td class="idleAgainConfTd">FARMING TOGGLES</td>
  1025. </tr>
  1026. </tbody>
  1027. </table>
  1028. <table class="idleAgainConfTable">
  1029. <tbody>
  1030. <tr id="scriptBrewingTogglesBar" onclick="navigate('scriptConfigBrewing')" style="cursor: pointer; color: white;">
  1031. <td style="padding-left: 10px;"><img src="images/brewingSkill.png" class="img-medium"></td>
  1032. <td class="idleAgainConfTd">BREWING TOGGLES</td>
  1033. </tr>
  1034. </tbody>
  1035. </table>
  1036. <table class="idleAgainConfTable">
  1037. <tbody>
  1038. <tr id="scriptExploringTogglesBar" onclick="navigate('scriptConfigExploring')" style="cursor: pointer; color: white;">
  1039. <td style="padding-left: 10px;"><img src="images/exploringSkill.png" class="img-medium"></td>
  1040. <td class="idleAgainConfTd">EXPLORING TOGGLES</td>
  1041. </tr>
  1042. </tbody>
  1043. </table>
  1044. <table class="idleAgainConfTable">
  1045. <tbody>
  1046. <tr id="scriptCookingTogglesBar" onclick="navigate('scriptConfigCooking')" style="cursor: pointer; color: white;">
  1047. <td style="padding-left: 10px;"><img src="images/cookingSkill.png" class="img-medium"></td>
  1048. <td class="idleAgainConfTd">COOKING TOGGLES</td>
  1049. </tr>
  1050. </tbody>
  1051. </table>
  1052. <table class="idleAgainConfTable">
  1053. <tbody>
  1054. <tr id="scriptCityUnlock" onclick="if(isMayor == 0) {window.autoCityUnlock();console.log('City Unlocked')}" style="cursor: pointer; color: white;">
  1055. <td style="padding-left: 10px;"><img src="images/mayorsHouse.png" class="img-medium"></td>
  1056. <td class="idleAgainConfTd">CITY UNLOCK</td>
  1057. </tr>
  1058. </tbody>
  1059. </table>
  1060. <table class="idleAgainConfTable">
  1061. <tbody>
  1062. <tr id="scriptLoginToggle" onclick="window.toggleAutoLogin()" style="cursor: pointer; color: green;">
  1063. <td style="padding-left: 10px;"><img src="images/whiteGear.png" class="img-medium"></td>
  1064. <td class="idleAgainConfTd">AUTO LOGIN</td>
  1065. </tr>
  1066. </tbody>
  1067. </table>
  1068. <table class="idleAgainConfTable">
  1069. <tbody>
  1070. <tr id="scriptExportImport" style="cursor: pointer;color: white;text-align: center;">
  1071. <td style="padding-right:20px;border-right: 1px solid white;" onclick="scriptExportConfig()">EXPORT CONFIG</td>
  1072. <td id="scriptImportConfig">IMPORT CONFIG</td>
  1073. <td style="display:none;"><input type="file" id="saveInput"></td>
  1074. </tr>
  1075. </tbody>
  1076. </table>
  1077. </div>`
  1078.  
  1079.  
  1080. let scriptConfMiningTab = `<div id="tab-scriptConfigMining" style="display:none">
  1081. <div class="main-button-lighter">
  1082. <table>
  1083. <tbody>
  1084. <tr onclick="navigate('scriptConfig');playPreviousMenuSound();" style="cursor: pointer;">
  1085. <td><img src="images/back.png" class="img-small"></td>
  1086. <td class="back-label">BACK</td>
  1087. </tr>
  1088. </tbody>
  1089. </table>
  1090. </div>
  1091. <table class="idleAgainConfTable">
  1092. <tbody>
  1093. <tr id="scriptGeodeToggle" onclick="window.autoChangeVar('toggleGeodeOpen',!scriptVars.toggleGeodeOpen,this.id)" style="cursor: pointer; color: green;">
  1094. <td style="padding-left: 10px;"><img src="images/geode5.png" class="img-small"></td>
  1095. <td class="idleAgainConfTd">GEODE OPENING</td>
  1096. </tr>
  1097. </tbody>
  1098. </table>
  1099. <table class="idleAgainConfTable">
  1100. <tbody>
  1101. <tr id="scriptMineralToggle" onclick="window.autoChangeVar('toggleMineralIdentify',!scriptVars.toggleMineralIdentify,this.id)" style="cursor: pointer; color: green;">
  1102. <td style="padding-left: 10px;"><img src="images/tanzaniteMineral.png" class="img-small"></td>
  1103. <td class="idleAgainConfTd">MINERAL IDENTIFY</td>
  1104. </tr>
  1105. </tbody>
  1106. </table>
  1107. <table class="idleAgainConfTable">
  1108. <tbody>
  1109. <tr id="scriptNecklaceToggle" onclick="window.autoChangeVar('toggleNecklaceCharge',!scriptVars.toggleNecklaceCharge,this.id)" style="cursor: pointer; color: red;">
  1110. <td style="padding-left: 10px;"><img src="images/mineralNecklace.png" class="img-small"></td>
  1111. <td class="idleAgainConfTd">NECKLACE CHARGE</td>
  1112. </tr>
  1113. </tbody>
  1114. </table>
  1115. <table class="idleAgainConfTable">
  1116. <tbody>
  1117. <tr id="scriptTrainToggle" onclick="window.autoChangeVar('toggleTrain',!scriptVars.toggleTrain,this.id)" style="cursor: pointer; color: red;">
  1118. <td style="padding-left: 10px;"><img src="images/train.png" class="img-small"></td>
  1119. <td class="idleAgainConfTd">TRAIN</td>
  1120. </tr>
  1121. </tbody>
  1122. </table>
  1123. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;">
  1124. <tbody>
  1125. <tr style="color: white;width: 100%;">
  1126. <td style="padding-left: 10px;"><img src="images/trainTracks.png" class="img-small"></td>
  1127. <td>
  1128. <select name="scriptTrainAmount" onchange="window.autoChangeVar('scriptTrainAmount',this.value)" id="scriptTrainAmount">
  1129. <option value="1">1</option>
  1130. <option value="2">2</option>
  1131. <option value="3">3</option>
  1132. <option value="4">4</option>
  1133. <option value="5">5</option>
  1134. </select>
  1135. </td>
  1136. <td class="idleAgainConfTd">TRAINS TO SEND</td>
  1137. </tr>
  1138. </tbody>
  1139. </table>
  1140. <table class="idleAgainConfTable">
  1141. <tbody>
  1142. <tr id="scriptRocketToggle" onclick="window.autoChangeVar('toggleRocket',!scriptVars.toggleRocket,this.id)" style="cursor: pointer; color: red;">
  1143. <td style="padding-left: 10px;"><img src="images/rocket.png" class="img-small"></td>
  1144. <td class="idleAgainConfTd">ROCKET</td>
  1145. </tr>
  1146. </tbody>
  1147. </table>
  1148. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;">
  1149. <tbody>
  1150. <tr style="color: white;width: 100%;">
  1151. <td style="padding-left: 10px;"><img src="images/mars.png" class="img-small"></td>
  1152. <td>
  1153. <select name="scriptRocketDestination" onchange="window.autoChangeVar('scriptRocket',this.value)" id="scriptRocketDestination">
  1154. <option value="Moon">Moon</option>
  1155. <option value="Mars">Mars</option>
  1156. <option value="Sun">Sun</option>
  1157. </select>
  1158. </td>
  1159. <td class="idleAgainConfTd">ROCKET DESTINATION</td>
  1160. </tr>
  1161. </tbody>
  1162. </table>
  1163. </div>`
  1164.  
  1165. let scriptConfCraftingTab = `<div id="tab-scriptConfigCrafting" style="display:none">
  1166. <div class="main-button-lighter">
  1167. <table>
  1168. <tbody>
  1169. <tr onclick="navigate('scriptConfig');playPreviousMenuSound();" style="cursor: pointer;">
  1170. <td><img src="images/back.png" class="img-small"></td>
  1171. <td class="back-label">BACK</td>
  1172. </tr>
  1173. </tbody>
  1174. </table>
  1175. </div>
  1176. <table class="idleAgainConfTable">
  1177. <tbody>
  1178. <tr id="scriptSmeltingToggle" onclick="window.autoChangeVar('toggleSmelting',!scriptVars.toggleSmelting,this.id)" style="cursor: pointer; color: green;">
  1179. <td style="padding-left: 10px;"><img src="images/ancientFurnace.png" class="img-small"></td>
  1180. <td class="idleAgainConfTd">SMELTING</td>
  1181. </tr>
  1182. </tbody>
  1183. </table>
  1184. <ol id="sortableOres" style="list-style: none;padding: 0px;border: 1px solid grey;border-radius: 6px;margin: 10px;font-size: 25px;" class="ui-sortable">
  1185. <li class="ui-state-default ui-sortable-handle" value="copper" style="border-radius: 6px; background: rgb(26, 26, 26); color: white; justify-content: space-between; display: flex;">
  1186. <img src="images/bronzeBars.png" class="img-small" style="padding-right: 10px;">Bronze Bar<input type="number" class="oreMinimum" min="1" placeholder="Minimum to Smelt" value="1">
  1187. </li>
  1188. <li class="ui-state-default ui-sortable-handle" value="iron" style="border-radius: 6px; background: rgb(26, 26, 26); color: white; justify-content: space-between; display: flex;">
  1189. <img src="images/ironBars.png" class="img-small" style="padding-right: 10px;">Iron Bar<input type="number" class="oreMinimum" min="1" placeholder="Minimum to Smelt" value="1">
  1190. </li>
  1191. <li class="ui-state-default ui-sortable-handle" value="silver" style="border-radius: 6px; background: rgb(26, 26, 26); color: white; justify-content: space-between; display: flex;">
  1192. <img src="images/silverBars.png" class="img-small" style="padding-right: 10px;">Silver Bar<input type="number" class="oreMinimum" min="1" placeholder="Minimum to Smelt" value="1">
  1193. </li>
  1194. <li class="ui-state-default ui-sortable-handle" value="gold" style="border-radius: 6px; background: rgb(26, 26, 26); color: white; justify-content: space-between; display: flex;">
  1195. <img src="images/goldBars.png" class="img-small" style="padding-right: 10px;">Gold Bar<input type="number" class="oreMinimum" min="1" placeholder="Minimum to Smelt" value="1">
  1196. </li>
  1197. <li class="ui-state-default ui-sortable-handle" value="promethium" style="border-radius: 6px; background: rgb(26, 26, 26); color: white; justify-content: space-between; display: flex;">
  1198. <img src="images/promethiumBars.png" class="img-small" style="padding-right: 10px;">Promethium Bar<input type="number" class="oreMinimum" min="1" placeholder="Minimum to Smelt" value="1">
  1199. </li>
  1200. <li class="ui-state-default ui-sortable-handle" value="titanium" style="border-radius: 6px; background: rgb(26, 26, 26); color: white; justify-content: space-between; display: flex;">
  1201. <img src="images/titaniumBars.png" class="img-small" style="padding-right: 10px;">Titanium Bar<input type="number" class="oreMinimum" min="1" placeholder="Minimum to Smelt" value="1">
  1202. </li>
  1203. <li class="ui-state-default ui-sortable-handle" value="ancientOre" style="border-radius: 6px; background: rgb(26, 26, 26); color: white; justify-content: space-between; display: flex;">
  1204. <img src="images/ancientBars.png" class="img-small" style="padding-right: 10px;">Ancient Bar<input type="number" class="oreMinimum" min="1" placeholder="Minimum to Smelt" value="1">
  1205. </li>
  1206. </ol>
  1207. <table class="idleAgainConfTable">
  1208. <tbody>
  1209. <tr id="scriptRefinaryToggle" onclick="window.autoChangeVar('toggleRefinary',!scriptVars.toggleRefinary,this.id)" style="cursor: pointer; color: red;">
  1210. <td style="padding-left: 10px;"><img src="images/goldBarRefinery.png" class="img-small"></td>
  1211. <td class="idleAgainConfTd">REFINARY</td>
  1212. </tr>
  1213. </tbody>
  1214. </table>
  1215. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;">
  1216. <tbody>
  1217. <tr id="scriptRefinaryBar" style="color: white;">
  1218. <td style="padding-left: 10px;"><img src="images/refinedGoldBars.png" class="img-small"></td>
  1219. <td style="padding-left: 50px;">
  1220. <select name="scriptRefinaryBarOptions" onchange="window.autoChangeVar('scriptRefinaryBar',this.value)" id="scriptRefinaryOptions">
  1221. <option value="gold">Gold</option>
  1222. <option value="promethium">Promethium</option>
  1223. </select>
  1224. </td>
  1225. <td class="idleAgainConfTd">REFINARY BAR</td>
  1226. </tr>
  1227. </tbody>
  1228. </table>
  1229. <table class="idleAgainConfTable">
  1230. <tbody>
  1231. <tr id="scriptFoundryToggle" onclick="window.autoChangeVar('toggleCharcoal',!scriptVars.toggleCharcoal,this.id)" style="cursor: pointer; color: red;">
  1232. <td style="padding-left: 10px;"><img src="images/charcoalFoundry.png" class="img-small"></td>
  1233. <td class="idleAgainConfTd">CHARCOAL FOUNDRY</td>
  1234. </tr>
  1235. </tbody>
  1236. </table>
  1237. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;">
  1238. <tbody>
  1239. <tr id="scriptFoundryWood" style="color: white;">
  1240. <td style="padding-left: 10px;"><img src="images/lavaLogs.png" class="img-small"></td>
  1241. <td style="padding-left: 50px;">
  1242. <select name="scriptFoundryWoodOptions" onchange="window.autoChangeVar('scriptFoundryWood',this.value)" id="scriptFoundryWoodOptions">
  1243. <option value="cheapest">Cheapest</option>
  1244. <option value="logs">Logs</option>
  1245. <option value="oakLogs">Oak Logs</option>
  1246. <option value="willowLogs">Willow Logs</option>
  1247. <option value="mapleLogs">Maple Logs</option>
  1248. <option value="redwoodLogs">Redwood Logs</option>
  1249. <option value="pineLogs">Pine Logs</option>
  1250. <option value="hauntedLogs">Haunted Logs</option>
  1251. <option value="jungleLogs">Jungle Logs</option>
  1252. <option value="lavaLogs">Lava Logs</option>
  1253. <option value="goldLogs">Gold Logs</option>
  1254. <option value="magicLogs">Magic Logs</option>
  1255. </select>
  1256. </td>
  1257. <td class="idleAgainConfTd">CHARCOAL LOG</td>
  1258. </tr>
  1259. </tbody>
  1260. </table>
  1261. </div>`
  1262.  
  1263. let scriptConfWoodcuttingTab = `<div id="tab-scriptConfigWoodcutting" style="display:none">
  1264. <div class="main-button-lighter">
  1265. <table>
  1266. <tbody>
  1267. <tr onclick="navigate('scriptConfig');playPreviousMenuSound();" style="cursor: pointer;">
  1268. <td><img src="images/back.png" class="img-small"></td>
  1269. <td class="back-label">BACK</td>
  1270. </tr>
  1271. </tbody>
  1272. </table>
  1273. </div>
  1274. <table class="idleAgainConfTable">
  1275. <tbody>
  1276. <tr id="scriptLumberToggle" onclick="window.autoChangeVar('toggleWoodcutting',!scriptVars.toggleWoodcutting,this.id)" style="cursor: pointer; color: green;">
  1277. <td style="padding-left: 10px;"><img src="images/lumberjack.png" class="img-small"></td>
  1278. <td class="idleAgainConfTd">LUMBERJACK</td>
  1279. </tr>
  1280. </tbody>
  1281. </table>
  1282. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 20px;width: 97%;">
  1283. <tbody style="display: table-row;">
  1284. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','tree',!scriptVars.scriptTreeIgnore.tree,this.id)" id="treeIgnoreToggle">
  1285. <td style="padding-left: 10px;width: 5%;"><img src="images/tree.png" class="img-small"></td>
  1286. <td style="text-align: center;width: 40%">TREE IGNORE</td>
  1287. </tr>
  1288. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','oakTree',!scriptVars.scriptTreeIgnore.oakTree,this.id)" id="oakTreeIgnoreToggle">
  1289. <td style="padding-left: 10px;width: 5%;"><img src="images/oakTree.png" class="img-small"></td>
  1290. <td style="text-align: center;width: 40%">OAK TREE IGNORE</td>
  1291. </tr>
  1292. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','willowTree',!scriptVars.scriptTreeIgnore.willowTree,this.id)" id="willowTreeIgnoreToggle">
  1293. <td style="padding-left: 10px;width: 5%;"><img src="images/willowTree.png" class="img-small"></td>
  1294. <td style="text-align: center;width: 40%">WILLOW TREE IGNORE</td>
  1295. </tr>
  1296. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','mapleTree',!scriptVars.scriptTreeIgnore.mapleTree,this.id)" id="mapleTreeIgnoreToggle">
  1297. <td style="padding-left: 10px;width: 5%;"><img src="images/mapleTree.png" class="img-small"></td>
  1298. <td style="text-align: center;width: 40%">MAPLE TREE IGNORE</td>
  1299. </tr>
  1300. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','redwoodTree',!scriptVars.scriptTreeIgnore.redwoodTree,this.id)" id="redwoodTreeIgnoreToggle">
  1301. <td style="padding-left: 10px;width: 5%;"><img src="images/redwoodTree.png" class="img-small"></td>
  1302. <td style="text-align: center;width: 40%">REDWOOD TREE IGNORE</td>
  1303. </tr>
  1304. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','pineTree',!scriptVars.scriptTreeIgnore.pineTree,this.id)" id="pineTreeIgnoreToggle">
  1305. <td style="padding-left: 10px;width: 5%;"><img src="images/pineTree.png" class="img-small"></td>
  1306. <td style="text-align: center;width: 40%">PINE TREE IGNORE</td>
  1307. </tr>
  1308. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','hauntedTree',!scriptVars.scriptTreeIgnore.hauntedTree,this.id)" id="hauntedTreeIgnoreToggle">
  1309. <td style="padding-left: 10px;width: 5%;"><img src="images/hauntedTree.png" class="img-small"></td>
  1310. <td style="text-align: center;width: 40%">HAUNTED TREE IGNORE</td>
  1311. </tr>
  1312. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','jungleTree',!scriptVars.scriptTreeIgnore.jungleTree,this.id)" id="jungleTreeIgnoreToggle">
  1313. <td style="padding-left: 10px;width: 5%;"><img src="images/jungleTree.png" class="img-small"></td>
  1314. <td style="text-align: center;width: 40%">JUNGLE TREE IGNORE</td>
  1315. </tr>
  1316. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','lavaTree',!scriptVars.scriptTreeIgnore.lavaTree,this.id)" id="lavaTreeIgnoreToggle">
  1317. <td style="padding-left: 10px;width: 5%;"><img src="images/lavaTree.png" class="img-small"></td>
  1318. <td style="text-align: center;width: 40%">LAVA TREE IGNORE</td>
  1319. </tr>
  1320. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','goldTree',!scriptVars.scriptTreeIgnore.goldTree,this.id)" id="goldTreeIgnoreToggle">
  1321. <td style="padding-left: 10px;width: 5%;"><img src="images/goldTree.png" class="img-small"></td>
  1322. <td style="text-align: center;width: 40%">GOLD TREE IGNORE</td>
  1323. </tr>
  1324. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','magicTree',!scriptVars.scriptTreeIgnore.magicTree,this.id)" id="magicTreeIgnoreToggle">
  1325. <td style="padding-left: 10px;width: 5%;"><img src="images/magicTree.png" class="img-small"></td>
  1326. <td style="text-align: center;width: 40%">MAGIC TREE IGNORE</td>
  1327. </tr>
  1328. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','appleTree',!scriptVars.scriptTreeIgnore.appleTree,this.id)" id="appleTreeIgnoreToggle">
  1329. <td style="padding-left: 10px;width: 5%;"><img src="images/appleTree.png" class="img-small"></td>
  1330. <td style="text-align: center;width: 40%">APPLE TREE IGNORE</td>
  1331. </tr>
  1332. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','cactusTree',!scriptVars.scriptTreeIgnore.cactusTree,this.id)" id="cactusTreeIgnoreToggle">
  1333. <td style="padding-left: 10px;width: 5%;"><img src="images/cactusTree.png" class="img-small"></td>
  1334. <td style="text-align: center;width: 40%">CACTUS TREE IGNORE</td>
  1335. </tr>
  1336. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','bananaTree',!scriptVars.scriptTreeIgnore.bananaTree,this.id)" id="bananaTreeIgnoreToggle">
  1337. <td style="padding-left: 10px;width: 5%;"><img src="images/bananaTree.png" class="img-small"></td>
  1338. <td style="text-align: center;width: 40%">BANANA TREE IGNORE</td>
  1339. </tr>
  1340. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','palmTree',!scriptVars.scriptTreeIgnore.palmTree,this.id)" id="palmTreeIgnoreToggle">
  1341. <td style="padding-left: 10px;width: 5%;"><img src="images/palmTree.png" class="img-small"></td>
  1342. <td style="text-align: center;width: 40%">PALM TREE IGNORE</td>
  1343. </tr>
  1344. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptTreeIgnore','pineappleTree',!scriptVars.scriptTreeIgnore.pineappleTree,this.id)" id="pineappleTreeIgnoreToggle">
  1345. <td style="padding-left: 10px;width: 5%;"><img src="images/pineappleTree.png" class="img-small"></td>
  1346. <td style="text-align: center;width: 40%">PINEAPPLE TREE IGNORE</td>
  1347. </tr>
  1348. <tr style="color: red;" onclick="window.autoChangeObject('scriptTreeIgnore','starfuitTree',!scriptVars.scriptTreeIgnore.starfuitTree,this.id)" id="starfruitTreeIgnoreToggle">
  1349. <td style="padding-left: 10px;width: 5%;"><img src="images/starfruitTree.png" class="img-small"></td>
  1350. <td style="text-align: center;">STARFRUIT TREE IGNORE</td>
  1351. </tr>
  1352. </tbody>
  1353. </table>
  1354. </div>`
  1355.  
  1356. let scriptConfFarmingTab = `<div id="tab-scriptConfigFarming" style="display:none">
  1357. <div class="main-button-lighter">
  1358. <table>
  1359. <tbody>
  1360. <tr onclick="navigate('scriptConfig');playPreviousMenuSound();" style="cursor: pointer;">
  1361. <td><img src="images/back.png" class="img-small"></td>
  1362. <td class="back-label">BACK</td>
  1363. </tr>
  1364. </tbody>
  1365. </table>
  1366. </div>
  1367. <table class="idleAgainConfTable">
  1368. <tbody>
  1369. <tr id="scriptFarmingToggle" onclick="window.autoChangeVar('toggleFarming',!scriptVars.toggleFarming,this.id)" style="cursor: pointer; color: red;">
  1370. <td style="padding-left: 10px;"><img src="images/farmer.png" class="img-small"></td>
  1371. <td class="idleAgainConfTd">HARVEST AND PLANT</td>
  1372. </tr>
  1373. </tbody>
  1374. </table>
  1375. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;cursor: pointer;">
  1376. <tbody>
  1377. <tr id="scriptSeedToggleBar" onclick="navigate('scriptConfigSeeds')" style="color: white;">
  1378. <td style="padding-left: 10px;"><img src="images/goldLeafSeeds.png" class="img-small"></td>
  1379. <td class="idleAgainConfTd">SEED SELECTOR</td>
  1380. </tr>
  1381. </tbody>
  1382. </table>
  1383. <table class="idleAgainConfTable">
  1384. <tbody>
  1385. <tr id="scriptBonesToggle" onclick="window.autoChangeVar('toggleBones',!scriptVars.toggleBones,this.id)" style="cursor: pointer; color: red;">
  1386. <td style="padding-left: 10px;"><img src="images/bonemealBin.png" class="img-small"></td>
  1387. <td class="idleAgainConfTd">BONEMEAL</td>
  1388. </tr>
  1389. </tbody>
  1390. </table>
  1391. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 20px;width: 97%;">
  1392. <tbody style="display: table-row;">
  1393. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptBonesIgnore','bones',!scriptVars.scriptBonesIgnore.bones,this.id)" id="bonesIgnoreToggle">
  1394. <td style="padding-left: 10px;width: 5%;"><img src="images/bones.png" class="img-small"></td>
  1395. <td style="text-align: center;width: 40%">BONES IGNORE</td>
  1396. </tr>
  1397. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptBonesIgnore','ashes',!scriptVars.scriptBonesIgnore.ashes,this.id)" id="ashesIgnoreToggle">
  1398. <td style="padding-left: 10px;width: 5%;"><img src="images/ashes.png" class="img-small"></td>
  1399. <td style="text-align: center;width: 40%">ASHES IGNORE</td>
  1400. </tr>
  1401. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptBonesIgnore','iceBones',!scriptVars.scriptBonesIgnore.iceBones,this.id)" id="iceBonesIgnoreToggle">
  1402. <td style="padding-left: 10px;width: 5%;"><img src="images/iceBones.png" class="img-small"></td>
  1403. <td style="text-align: center;width: 40%">ICE BONES IGNORE</td>
  1404. </tr>
  1405. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptBonesIgnore','zombieBones',!scriptVars.scriptBonesIgnore.zombieBones,this.id)" id="zombieBonesIgnoreToggle">
  1406. <td style="padding-left: 10px;width: 5%;"><img src="images/zombieBones.png" class="img-small"></td>
  1407. <td style="text-align: center;width: 40%">ZOMBIE BONES IGNORE</td>
  1408. </tr>
  1409. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptBonesIgnore','bloodBones',!scriptVars.scriptBonesIgnore.bloodBones,this.id)" id="bloodBonesIgnoreToggle">
  1410. <td style="padding-left: 10px;width: 5%;"><img src="images/bloodBones.png" class="img-small"></td>
  1411. <td style="text-align: center;width: 40%">BLOOD BONES IGNORE</td>
  1412. </tr>
  1413. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptBonesIgnore','fishBones',!scriptVars.scriptBonesIgnore.fishBones,this.id)" id="fishBonesIgnoreToggle">
  1414. <td style="padding-left: 10px;width: 5%;"><img src="images/fishBones.png" class="img-small"></td>
  1415. <td style="text-align: center;width: 40%">FISH BONES IGNORE</td>
  1416. </tr>
  1417. </tbody>
  1418. </table>
  1419. <table class="idleAgainConfTable">
  1420. <tbody>
  1421. <tr id="scriptFertilizeToggle" onclick="window.autoChangeVar('toggleFertilize',!scriptVars.toggleFertilize,this.id)" style="cursor: pointer; color: red;">
  1422. <td style="padding-left: 10px;"><img src="images/fertilizeSoilPotion.png" class="img-small"></td>
  1423. <td class="idleAgainConfTd">FERTILIZE</td>
  1424. </tr>
  1425. </tbody>
  1426. </table>
  1427. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 20px;width: 97%;">
  1428. <tbody style="display: table-row;">
  1429. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptFertilize','redMushroomSeeds',!scriptVars.scriptFertilize.redMushroomSeeds,this.id)" id="MushroomFertilizeToggle">
  1430. <td style="padding-left: 10px;width: 5%;"><img src="images/redMushroomSeeds.png" class="img-small"></td>
  1431. <td style="text-align: center;width: 40%">RED MUSHROOM FERTILIZE</td>
  1432. </tr>
  1433. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptFertilize','dottedGreenLeafSeeds',!scriptVars.scriptFertilize.dottedGreenLeafSeeds,this.id)" id="dottedGreenFertilizeToggle">
  1434. <td style="padding-left: 10px;width: 5%;"><img src="images/dottedGreenLeafSeeds.png" class="img-small"></td>
  1435. <td style="text-align: center;width: 40%">DOTTED GREEN LEAF FERTILIZE</td>
  1436. </tr>
  1437. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptFertilize','greenLeafSeeds',!scriptVars.scriptFertilize.greenLeafSeeds,this.id)" id="greenLeafFertilizeToggle">
  1438. <td style="padding-left: 10px;width: 5%;"><img src="images/greenLeafSeeds.png" class="img-small"></td>
  1439. <td style="text-align: center;width: 40%">GREEN LEAF FERTILIZE</td>
  1440. </tr>
  1441. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptFertilize','limeLeafSeeds',!scriptVars.scriptFertilize.limeLeafSeeds,this.id)" id="limeLeafFertilizeToggle">
  1442. <td style="padding-left: 10px;width: 5%;"><img src="images/limeLeafSeeds.png" class="img-small"></td>
  1443. <td style="text-align: center;width: 40%">LIME LEAF FERTILIZE</td>
  1444. </tr>
  1445. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptFertilize','goldLeafSeeds',!scriptVars.scriptFertilize.goldLeafSeeds,this.id)" id="goldLeafFertilizeToggle">
  1446. <td style="padding-left: 10px;width: 5%;"><img src="images/goldLeafSeeds.png" class="img-small"></td>
  1447. <td style="text-align: center;width: 40%">GOLD LEAF FERTILIZE</td>
  1448. </tr>
  1449. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptFertilize','crystalLeafSeeds',!scriptVars.scriptFertilize.crystalLeafSeeds,this.id)" id="crystalLeafFertilizeToggle">
  1450. <td style="padding-left: 10px;width: 5%;"><img src="images/crystalLeafSeeds.png" class="img-small"></td>
  1451. <td style="text-align: center;width: 40%">CRYSTAL LEAF FERTILIZE</td>
  1452. </tr>
  1453. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptFertilize','stripedGreenLeafSeeds',!scriptVars.scriptFertilize.stripedGreenLeafSeeds,this.id)" id="stripedGreenLeafFertilizeToggle">
  1454. <td style="padding-left: 10px;width: 5%;"><img src="images/stripedGreenLeafSeeds.png" class="img-small"></td>
  1455. <td style="text-align: center;width: 40%">STRIPED GREEN LEAF FERTILIZE</td>
  1456. </tr><tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptFertilize','stripedGoldLeafSeeds',!scriptVars.scriptFertilize.stripedGoldLeafSeeds,this.id)" id="stripedGoldLeafFertilizeToggle">
  1457. <td style="padding-left: 10px;width: 5%;"><img src="images/stripedGoldLeafSeeds.png" class="img-small"></td>
  1458. <td style="text-align: center;width: 40%">STRIPED GOLD LEAF FERTILIZE</td>
  1459. </tr><tr style="color: red;" onclick="window.autoChangeObject('scriptFertilize','stripedCrystalLeafSeeds',!scriptVars.scriptFertilize.stripedCrystalLeafSeeds,this.id)" id="stripedCrystalLeafFertilizeToggle">
  1460. <td style="padding-left: 10px;width: 5%;"><img src="images/stripedCrystalLeafSeeds.png" class="img-small"></td>
  1461. <td style="text-align: center;width: 40%">STRIPED CRYSTAL LEAF FERTILIZE</td>
  1462. </tr></tbody>
  1463. </table>
  1464. </div>`
  1465.  
  1466. let scriptConfSeedsTab = `<div id="tab-scriptConfigSeeds" style="display:none">
  1467. <div class="main-button-lighter">
  1468. <table>
  1469. <tbody>
  1470. <tr onclick="navigate('scriptConfigFarming');playPreviousMenuSound();" style="cursor: pointer;">
  1471. <td><img src="images/back.png" class="img-small"></td>
  1472. <td class="back-label">BACK</td>
  1473. </tr>
  1474. </tbody>
  1475. </table>
  1476. </div>
  1477. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;">
  1478. <tbody>
  1479. <tr id="scriptSeedsInfo" style="color: white;">
  1480. <td style="padding-left: 10px;"></td>
  1481. <td style="text-align: center;padding-right:20px;width: 100%;">
  1482. <p>PRIORITY WILL BE DEFINED BASED ON THE POSITION OF THE SEED</p>
  1483. <p>DRAG AND DROP ONCE AFTER CHECKING BOXES</p>
  1484. </td>
  1485. </tr>
  1486. </tbody>
  1487. </table>
  1488. <ol id="sortableSeeds" style="list-style: none;padding: 0px;border: 1px solid grey;border-radius: 6px;margin: 10px;font-size: 25px;"></ol>
  1489. </div>`
  1490.  
  1491. let scriptConfBrewingTab = `<div id="tab-scriptConfigBrewing" style="display:none">
  1492. <div class="main-button-lighter">
  1493. <table>
  1494. <tbody>
  1495. <tr onclick="navigate('scriptConfig');playPreviousMenuSound();" style="cursor: pointer;">
  1496. <td><img src="images/back.png" class="img-small"></td>
  1497. <td class="back-label">BACK</td>
  1498. </tr>
  1499. </tbody>
  1500. </table>
  1501. </div>
  1502. <table class="idleAgainConfTable">
  1503. <tbody>
  1504. <tr id="scriptDrinkToggle" onclick="window.autoChangeVar('toggleDrink',!scriptVars.toggleDrink,this.id)" style="cursor: pointer; color: red;">
  1505. <td style="padding-left: 10px;"><img src="images/diamondBrewingKit.png" class="img-small"></td>
  1506. <td class="idleAgainConfTd">POTION DRINK</td>
  1507. </tr>
  1508. </tbody>
  1509. </table>
  1510. <table class="idleAgainConfTable">
  1511. <tbody>
  1512. <tr id="scriptBrewToggle" onclick="window.autoChangeVar('toggleBrew',!scriptVars.toggleBrew,this.id)" style="cursor: pointer; color: red;">
  1513. <td style="padding-left: 10px;"><img src="images/goldLeaf.png" class="img-small"></td>
  1514. <td class="idleAgainConfTd">POTION BREW</td>
  1515. </tr>
  1516. </tbody>
  1517. </table>
  1518. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;cursor: pointer;">
  1519. <tbody>
  1520. <tr id="scriptPotionToggleBar" onclick="navigate('scriptConfigPotions')" style="color: white;">
  1521. <td style="padding-left: 10px;"><img src="images/researchSpeedPotion.png" class="img-small"></td>
  1522. <td class="idleAgainConfTd">POTION SELECTOR</td>
  1523. </tr>
  1524. </tbody>
  1525. </table>
  1526. <table class="idleAgainConfTable">
  1527. <tbody>
  1528. <tr id="scriptTreeUpgradeToggle" onclick="window.autoChangeVar('toggleTreeUpgrade',!scriptVars.toggleTreeUpgrade,this.id)" style="cursor: pointer; color: red;">
  1529. <td style="padding-left: 10px;"><img src="images/woodcuttingUpgradePotion.png" class="img-small"></td>
  1530. <td class="idleAgainConfTd">TREE UPGRADE POTION</td>
  1531. </tr>
  1532. </tbody>
  1533. </table>
  1534. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 20px;width: 97%;">
  1535. <tbody style="display: table-row;">
  1536. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','tree',!scriptVars.scriptTreeUpgrade.tree,this.id)" id="treeUpgradeToggle">
  1537. <td style="padding-left: 10px;width: 5%;"><img src="images/tree.png" class="img-small"></td>
  1538. <td style="text-align: center;width: 40%">TREE UPGRADE</td>
  1539. </tr>
  1540. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','oakTree',!scriptVars.scriptTreeUpgrade.oakTree,this.id)" id="oakTreeUpgradeToggle">
  1541. <td style="padding-left: 10px;width: 5%;"><img src="images/oakTree.png" class="img-small"></td>
  1542. <td style="text-align: center;width: 40%">OAK TREE UPGRADE</td>
  1543. </tr>
  1544. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','willowTree',!scriptVars.scriptTreeUpgrade.willowTree,this.id)" id="willowTreeUpgradeToggle">
  1545. <td style="padding-left: 10px;width: 5%;"><img src="images/willowTree.png" class="img-small"></td>
  1546. <td style="text-align: center;width: 40%">WILLOW TREE UPGRADE</td>
  1547. </tr>
  1548. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','mapleTree',!scriptVars.scriptTreeUpgrade.mapleTree,this.id)" id="mapleTreeUpgradeToggle">
  1549. <td style="padding-left: 10px;width: 5%;"><img src="images/mapleTree.png" class="img-small"></td>
  1550. <td style="text-align: center;width: 40%">MAPLE TREE UPGRADE</td>
  1551. </tr>
  1552. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','redwoodTree',!scriptVars.scriptTreeUpgrade.redwoodTree,this.id)" id="redwoodTreeUpgradeToggle">
  1553. <td style="padding-left: 10px;width: 5%;"><img src="images/redwoodTree.png" class="img-small"></td>
  1554. <td style="text-align: center;width: 40%">REDWOOD TREE UPGRADE</td>
  1555. </tr>
  1556. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','pineTree',!scriptVars.scriptTreeUpgrade.pineTree,this.id)" id="pineTreeUpgradeToggle">
  1557. <td style="padding-left: 10px;width: 5%;"><img src="images/pineTree.png" class="img-small"></td>
  1558. <td style="text-align: center;width: 40%">PINE TREE UPGRADE</td>
  1559. </tr>
  1560. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','hauntedTree',!scriptVars.scriptTreeUpgrade.hauntedTree,this.id)" id="hauntedTreeUpgradeToggle">
  1561. <td style="padding-left: 10px;width: 5%;"><img src="images/hauntedTree.png" class="img-small"></td>
  1562. <td style="text-align: center;width: 40%">HAUNTED TREE UPGRADE</td>
  1563. </tr>
  1564. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','jungleTree',!scriptVars.scriptTreeUpgrade.jungleTree,this.id)" id="jungleTreeUpgradeToggle">
  1565. <td style="padding-left: 10px;width: 5%;"><img src="images/jungleTree.png" class="img-small"></td>
  1566. <td style="text-align: center;width: 40%">JUNGLE TREE UPGRADE</td>
  1567. </tr>
  1568. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','lavaTree',!scriptVars.scriptTreeUpgrade.lavaTree,this.id)" id="lavaTreeUpgradeToggle">
  1569. <td style="padding-left: 10px;width: 5%;"><img src="images/lavaTree.png" class="img-small"></td>
  1570. <td style="text-align: center;width: 40%">LAVA TREE UPGRADE</td>
  1571. </tr>
  1572. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','goldTree',!scriptVars.scriptTreeUpgrade.goldTree,this.id)" id="goldTreeUpgradeToggle">
  1573. <td style="padding-left: 10px;width: 5%;"><img src="images/goldTree.png" class="img-small"></td>
  1574. <td style="text-align: center;width: 40%">GOLD TREE UPGRADE</td>
  1575. </tr>
  1576. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','magicTree',!scriptVars.scriptTreeUpgrade.magicTree,this.id)" id="magicTreeUpgradeToggle">
  1577. <td style="padding-left: 10px;width: 5%;"><img src="images/magicTree.png" class="img-small"></td>
  1578. <td style="text-align: center;width: 40%">MAGIC TREE UPGRADE</td>
  1579. </tr>
  1580. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','appleTree',!scriptVars.scriptTreeUpgrade.appleTree,this.id)" id="appleTreeUpgradeToggle">
  1581. <td style="padding-left: 10px;width: 5%;"><img src="images/appleTree.png" class="img-small"></td>
  1582. <td style="text-align: center;width: 40%">APPLE TREE UPGRADE</td>
  1583. </tr>
  1584. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','cactusTree',!scriptVars.scriptTreeUpgrade.cactusTree,this.id)" id="cactusTreeUpgradeToggle">
  1585. <td style="padding-left: 10px;width: 5%;"><img src="images/cactusTree.png" class="img-small"></td>
  1586. <td style="text-align: center;width: 40%">CACTUS TREE UPGRADE</td>
  1587. </tr>
  1588. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','bananaTree',!scriptVars.scriptTreeUpgrade.bananaTree,this.id)" id="bananaTreeUpgradeToggle">
  1589. <td style="padding-left: 10px;width: 5%;"><img src="images/bananaTree.png" class="img-small"></td>
  1590. <td style="text-align: center;width: 40%">BANANA TREE UPGRADE</td>
  1591. </tr>
  1592. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','palmTree',!scriptVars.scriptTreeUpgrade.palmTree,this.id)" id="palmTreeUpgradeToggle">
  1593. <td style="padding-left: 10px;width: 5%;"><img src="images/palmTree.png" class="img-small"></td>
  1594. <td style="text-align: center;width: 40%">PALM TREE UPGRADE</td>
  1595. </tr>
  1596. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptTreeUpgrade','pineappleTree',!scriptVars.scriptTreeUpgrade.pineappleTree,this.id)" id="pineappleTreeUpgradeToggle">
  1597. <td style="padding-left: 10px;width: 5%;"><img src="images/pineappleTree.png" class="img-small"></td>
  1598. <td style="text-align: center;width: 40%">PINEAPPLE TREE UPGRADE</td>
  1599. </tr>
  1600. <tr style="color: red;" onclick="window.autoChangeObject('scriptTreeUpgrade','starfuitTree',!scriptVars.scriptTreeUpgrade.starfuitTree,this.id)" id="starfruitTreeUpgradeToggle">
  1601. <td style="padding-left: 10px;width: 5%;"><img src="images/starfruitTree.png" class="img-small"></td>
  1602. <td style="text-align: center;">STARFRUIT TREE UPGRADE</td>
  1603. </tr>
  1604. </tbody>
  1605. </table>
  1606. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 20px;width: 97%;">
  1607. <thead>
  1608. <th style="color: white;"><img src="images/strengthCombatPotion.png" class="img-small"> STRENGTH POTION</th>
  1609. </thead>
  1610. <tbody id="strengthTableBody"></tbody>
  1611. </table>
  1612. </div>`
  1613.  
  1614. let scriptConfPotionsTab = `<div id="tab-scriptConfigPotions" style="display:none">
  1615. <div class="main-button-lighter">
  1616. <table>
  1617. <tbody>
  1618. <tr onclick="navigate('scriptConfigBrewing');playPreviousMenuSound();" style="cursor: pointer;">
  1619. <td><img src="images/back.png" class="img-small"></td>
  1620. <td class="back-label">BACK</td>
  1621. </tr>
  1622. </tbody>
  1623. </table>
  1624. </div>
  1625. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;">
  1626. <tbody>
  1627. <tr id="scriptPotionsInfo" style="color: white;">
  1628. <td style="padding-left: 10px;"></td>
  1629. <td style="text-align: center;padding-right:20px;width: 100%;">IT WILL ONLY BREW IF DRINK IS ALSO SELECTED AND DOES NOT CHECK THE INGREDIENTS</td>
  1630. </tr>
  1631. </tbody>
  1632. </table>
  1633. <div class="ui-state-default" style="border-radius: 6px;background: #1a1a1a;color: white;justify-content: space-between;display: flex;margin: 10px;font-size: 25px;">
  1634. <p style="
  1635. margin-top: 0px;
  1636. margin-bottom: 0px;
  1637. padding-left: 10px;
  1638. ">DRINK</p>
  1639. <p style="
  1640. margin-top: 0px;
  1641. margin-bottom: 0px;
  1642. padding-left: 0px;
  1643. padding-right: 10px;
  1644. ">BREW</p>
  1645. </div>
  1646. <ol id="sortablePotions" style="list-style: none;padding: 0px;border: 1px solid grey;border-radius: 6px;margin: 10px;font-size: 25px;">
  1647. </ol>
  1648. </div>`
  1649. let scriptConfExploringTab = `<div id="tab-scriptConfigExploring" style="display:none">
  1650. <div class="main-button-lighter">
  1651. <table>
  1652. <tbody>
  1653. <tr onclick="navigate('scriptConfig');playPreviousMenuSound();" style="cursor: pointer;">
  1654. <td><img src="images/back.png" class="img-small"></td>
  1655. <td class="back-label">BACK</td>
  1656. </tr>
  1657. </tbody>
  1658. </table>
  1659. </div>
  1660. <table class="idleAgainConfTable">
  1661. <tbody>
  1662. <tr id="scriptExploreToggle" onclick="window.autoChangeVar('toggleExplore',!scriptVars.toggleExplore,this.id)" style="cursor: pointer; color: red;">
  1663. <td style="padding-left: 10px;"><img src="images/explorer.png" class="img-small"></td>
  1664. <td class="idleAgainConfTd">EXPLORER</td>
  1665. </tr>
  1666. </tbody>
  1667. </table>
  1668. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;">
  1669. <tbody>
  1670. <tr id="scriptExplorerArea" style="color: white;">
  1671. <td style="padding-left: 10px;"><img src="images/caves.png" class="img-small"></td>
  1672. <td style="padding-left: 50px;">
  1673. <select name="scriptAreaOptions" onchange="window.autoChangeVar('scriptArea',this.value);window.monsterOptions(this.value);window.autoChangeVar('scriptMonster',document.getElementById('scriptMonsterOptions').value)" id="scriptAreaOptions">
  1674. <option value="fields">Fields</option>
  1675. <option value="forests">Forests</option>
  1676. <option value="caves">Caves</option>
  1677. <option value="volcano">Volcano</option>
  1678. <option value="northernFields">Northern Fields</option>
  1679. <option value="hauntedMansion">Haunted Mansion</option>
  1680. <option value="desert">Desert</option>
  1681. <option value="ocean">Ocean</option>
  1682. <option value="jungle">Jungle</option>
  1683. <option value="dungeonEntrance">Dungeon Entrance</option>
  1684. <option value="dungeon">Dungeon</option>
  1685. <option value="castle">Castle</option>
  1686. <option value="cemetery">Cemetery</option>
  1687. <option value="factory">Factory</option>
  1688. <option value="hauntedWoods">Haunted Woods</option>
  1689. <option value="deepOcean">Deep Ocean</option>
  1690. </select>
  1691. </td>
  1692. <td class="idleAgainConfTd">EXPLORER AREA</td>
  1693. </tr>
  1694. </tbody>
  1695. </table>
  1696. <table class="idleAgainConfTable">
  1697. <tbody>
  1698. <tr id="scriptFightToggle" onclick="window.autoChangeVar('toggleFight',!scriptVars.toggleFight,this.id)" style="cursor: pointer; color: red;">
  1699. <td style="padding-left: 10px;"><img src="images/combat.png" class="img-small"></td>
  1700. <td class="idleAgainConfTd">FIGHT</td>
  1701. </tr>
  1702. </tbody>
  1703. </table>
  1704. <table class="idleAgainConfTable">
  1705. <tbody>
  1706. <tr id="scriptResetToggle" onclick="window.autoChangeVar('toggleResetFight',!scriptVars.toggleResetFight,this.id)" style="cursor: pointer; color: red;">
  1707. <td style="padding-left: 10px;"><img src="images/resetFightingPotion.png" class="img-small"></td>
  1708. <td class="idleAgainConfTd">RESET POTION</td>
  1709. </tr>
  1710. </tbody>
  1711. </table>
  1712. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 20px;width: 97%;">
  1713. <tbody>
  1714. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','fields',!scriptVars.scriptResetArea.fields,this.id)" id="fieldsResetToggle">
  1715. <td style="padding-left: 10px;width: 5%;"><img src="images/fields.png" class="img-small"></td>
  1716. <td style="text-align: center;width: 40%">Fields</td>
  1717. </tr>
  1718. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','forests',!scriptVars.scriptResetArea.forests,this.id)" id="forestsResetToggle">
  1719. <td style="padding-left: 10px;width: 5%;"><img src="images/forests.png" class="img-small"></td>
  1720. <td style="text-align: center;width: 40%">Forests</td>
  1721. </tr>
  1722. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','caves',!scriptVars.scriptResetArea.caves,this.id)" id="cavesResetToggle">
  1723. <td style="padding-left: 10px;width: 5%;"><img src="images/caves.png" class="img-small"></td>
  1724. <td style="text-align: center;width: 40%">Caves</td>
  1725. </tr>
  1726. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','volcano',!scriptVars.scriptResetArea.volcano,this.id)" id="volcanoResetToggle">
  1727. <td style="padding-left: 10px;width: 5%;"><img src="images/volcano.png" class="img-small"></td>
  1728. <td style="text-align: center;width: 40%">Volcano</td>
  1729. </tr>
  1730. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','northernFields',!scriptVars.scriptResetArea.northernFields,this.id)" id="northernFieldsResetToggle">
  1731. <td style="padding-left: 10px;width: 5%;"><img src="images/northernFields.png" class="img-small"></td>
  1732. <td style="text-align: center;width: 40%">Northern Fields</td>
  1733. </tr>
  1734. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','hauntedMansion',!scriptVars.scriptResetArea.hauntedMansion,this.id)" id="hauntedMansionResetToggle">
  1735. <td style="padding-left: 10px;width: 5%;"><img src="images/hauntedMansion.png" class="img-small"></td>
  1736. <td style="text-align: center;width: 40%">Haunted Mansion</td>
  1737. </tr>
  1738. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','desert',!scriptVars.scriptResetArea.desert,this.id)" id="desertResetToggle">
  1739. <td style="padding-left: 10px;width: 5%;"><img src="images/desert.png" class="img-small"></td>
  1740. <td style="text-align: center;width: 40%">Desert</td>
  1741. </tr>
  1742. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','ocean',!scriptVars.scriptResetArea.ocean,this.id)" id="oceanResetToggle">
  1743. <td style="padding-left: 10px;width: 5%;"><img src="images/ocean.png" class="img-small"></td>
  1744. <td style="text-align: center;width: 40%">Ocean</td>
  1745. </tr>
  1746. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','jungle',!scriptVars.scriptResetArea.jungle,this.id)" id="jungleResetToggle">
  1747. <td style="padding-left: 10px;width: 5%;"><img src="images/jungle.png" class="img-small"></td>
  1748. <td style="text-align: center;width: 40%">Jungle</td>
  1749. </tr>
  1750. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','dungeonEntrance',!scriptVars.scriptResetArea.dungeonEntrance,this.id)" id="dungeonEntranceResetToggle">
  1751. <td style="padding-left: 10px;width: 5%;"><img src="images/dungeonEntrance.png" class="img-small"></td>
  1752. <td style="text-align: center;width: 40%">Dungeon Entrance</td>
  1753. </tr>
  1754. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','dungeon',!scriptVars.scriptResetArea.dungeon,this.id)" id="dungeonResetToggle">
  1755. <td style="padding-left: 10px;width: 5%;"><img src="images/dungeon.png" class="img-small"></td>
  1756. <td style="text-align: center;width: 40%">Dungeon</td>
  1757. </tr>
  1758. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','castle',!scriptVars.scriptResetArea.castle,this.id)" id="castleResetToggle">
  1759. <td style="padding-left: 10px;width: 5%;"><img src="images/castle.png" class="img-small"></td>
  1760. <td style="text-align: center;width: 40%">Castle</td>
  1761. </tr>
  1762. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','cemetery',!scriptVars.scriptResetArea.cemetery,this.id)" id="cemeteryResetToggle">
  1763. <td style="padding-left: 10px;width: 5%;"><img src="images/cemetery.png" class="img-small"></td>
  1764. <td style="text-align: center;width: 40%">Cemetery</td>
  1765. </tr>
  1766. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','factory',!scriptVars.scriptResetArea.factory,this.id)" id="factoryResetToggle">
  1767. <td style="padding-left: 10px;width: 5%;"><img src="images/factory.png" class="img-small"></td>
  1768. <td style="text-align: center;width: 40%">Factory</td>
  1769. </tr>
  1770. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','hauntedWoods',!scriptVars.scriptResetArea.hauntedWoods,this.id)" id="hauntedWoodsResetToggle">
  1771. <td style="padding-left: 10px;width: 5%;"><img src="images/hauntedWoods.png" class="img-small"></td>
  1772. <td style="text-align: center;width: 40%">Haunted Woods</td>
  1773. </tr>
  1774. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptResetArea','deepOcean',!scriptVars.scriptResetArea.deepOcean,this.id)" id="deepOceanResetToggle">
  1775. <td style="padding-left: 10px;width: 5%;"><img src="images/deepOcean.png" class="img-small"></td>
  1776. <td style="text-align: center;width: 40%">Deep Ocean</td>
  1777. </tr>
  1778. </tbody>
  1779. </table>
  1780. <table class="idleAgainConfTable">
  1781. <tbody>
  1782. <tr id="scriptMonsterFindToggle" onclick="window.autoChangeVar('toggleMonsterFind',!scriptVars.toggleMonsterFind,this.id)" style="cursor: pointer; color: green;">
  1783. <td style="padding-left: 10px;"><img src="images/skeletonMonster.png" class="img-small"></td>
  1784. <td class="idleAgainConfTd">SEARCH FOR MONSTER</td>
  1785. </tr>
  1786. </tbody>
  1787. </table>
  1788. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;">
  1789. <tbody>
  1790. <tr id="scriptExplorerArea" style="color: white;">
  1791. <td style="padding-left: 10px;"><img src="images/exploringSkill.png" class="img-small"></td>
  1792. <td style="padding-left: 50px;"><select name="scriptMonsterOptions" onchange="window.autoChangeVar('scriptMonster',this.value)" id="scriptMonsterOptions">
  1793. </select>
  1794. </td>
  1795. <td class="idleAgainConfTd">MONSTER TO SEARCH</td>
  1796. </tr>
  1797. </tbody>
  1798. </table>
  1799. <table class="idleAgainConfTable">
  1800. <tbody>
  1801. <tr id="scriptShinyToggle" onclick="window.autoChangeVar('toggleShiny',!scriptVars.toggleShiny,this.id)" style="cursor: pointer; color: red;">
  1802. <td style="padding-left: 10px;"><img src="images/shiny.gif" class="img-small"></td>
  1803. <td class="idleAgainConfTd">SHINY/GEM GOBLIN HUNT</td>
  1804. </tr>
  1805. </tbody>
  1806. </table>
  1807. <table class="idleAgainConfTable">
  1808. <tbody>
  1809. <tr id="scriptSpellToggle" onclick="window.autoChangeVar('toggleSpell',!scriptVars.toggleSpell,this.id)" style="cursor: pointer; color: red;">
  1810. <td style="padding-left: 10px;"><img src="images/fireSpell.png" class="img-small"></td>
  1811. <td class="idleAgainConfTd">SPELL</td>
  1812. </tr>
  1813. </tbody>
  1814. </table>
  1815. <table class="idleAgainConfTable">
  1816. <tbody>
  1817. <tr id="scriptCombatPotionToggle" onclick="window.autoChangeVar('toggleCombatPotion',!scriptVars.toggleCombatPotion,this.id)" style="cursor: pointer; color: red;">
  1818. <td style="padding-left: 10px;"><img src="images/ghostScanCombatPotion.png" class="img-small"></td>
  1819. <td class="idleAgainConfTd">COMBAT POTION</td>
  1820. </tr>
  1821. </tbody>
  1822. </table>
  1823. <table class="idleAgainConfTable">
  1824. <tbody>
  1825. <tr id="scriptHealToggle" onclick="window.autoChangeVar('toggleHeal',!scriptVars.toggleHeal,this.id)" style="cursor: pointer; color: red;">
  1826. <td style="padding-left: 10px;"><img src="images/autoTickHeal.png" class="img-small"></td>
  1827. <td class="idleAgainConfTd">TICK HEAL</td>
  1828. </tr>
  1829. </tbody>
  1830. </table>
  1831. <table class="idleAgainConfTable">
  1832. <tbody>
  1833. <tr id="scriptBloodMoonToggle" onclick="window.autoChangeVar('toggleBM',!scriptVars.toggleBM,this.id)" style="cursor: pointer; color: red;">
  1834. <td style="padding-left: 10px;"><img src="images/bloodMoonIcon.png" class="img-small"></td>
  1835. <td class="idleAgainConfTd">BLOOD MOON</td>
  1836. </tr>
  1837. </tbody>
  1838. </table>
  1839. <table class="idleAgainConfTable">
  1840. <tbody>
  1841. <tr id="scriptCousinToggle" onclick="window.autoChangeVar('toggleCousin',!scriptVars.toggleCousin,this.id)" style="cursor: pointer; color: red;">
  1842. <td style="padding-left: 10px;"><img src="images/goblinCousin.png" class="img-small"></td>
  1843. <td class="idleAgainConfTd">GOBLIN COUSIN</td>
  1844. </tr>
  1845. </tbody>
  1846. </table>
  1847. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 32px;">
  1848. <tbody>
  1849. <tr id="scriptCousinArea" style="color: white;">
  1850. <td style="padding-left: 10px;"><img src="images/fields.png" class="img-small"></td>
  1851. <td style="padding-left: 50px;">
  1852. <select name="scriptCousinAreaOptions" onchange="window.autoChangeVar('scriptCousinArea',this.value)" id="scriptCousinAreaOptions">
  1853. <option value="fields">Fields</option>
  1854. <option value="forests">Forests</option>
  1855. <option value="caves">Caves</option>
  1856. <option value="volcano">Volcano</option>
  1857. <option value="northernFields">Northern Fields</option>
  1858. <option value="hauntedMansion">Haunted Mansion</option>
  1859. <option value="desert">Desert</option>
  1860. <option value="ocean">Ocean</option>
  1861. <option value="jungle">Jungle</option>
  1862. <option value="dungeonEntrance">Dungeon Entrance</option>
  1863. <option value="dungeon">Dungeon</option>
  1864. <option value="castle">Castle</option>
  1865. <option value="cemetery">Cemetery</option>
  1866. <option value="factory">Factory</option>
  1867. <option value="hauntedWoods">Haunted Woods</option>
  1868. <option value="deepOcean">Deep Ocean</option>
  1869. </select>
  1870. </td>
  1871. <td class="idleAgainConfTd">COUSIN AREA</td>
  1872. </tr>
  1873. </tbody>
  1874. </table>
  1875. <table class="idleAgainConfTable">
  1876. <tbody>
  1877. <tr id="scriptBagsToggle" onclick="window.autoChangeVar('toggleBags',!scriptVars.toggleBags,this.id)" style="cursor: pointer; color: red;">
  1878. <td style="padding-left: 10px;"><img src="images/oceanLoot.png" class="img-small"></td>
  1879. <td class="idleAgainConfTd">BAGS OPENING</td>
  1880. </tr>
  1881. </tbody>
  1882. </table>
  1883. <table class="idleAgainConfTable">
  1884. <tbody>
  1885. <tr id="scriptFieldsBagsToggle" onclick="window.autoChangeVar('toggleFieldsBags',!scriptVars.toggleFieldsBags,this.id)" style="cursor: pointer; color: red;">
  1886. <td style="padding-left: 10px;"><img src="images/fieldsLoot.png" class="img-small"></td>
  1887. <td class="idleAgainConfTd">FIELDS BAGS OPENING</td>
  1888. </tr>
  1889. </tbody>
  1890. </table>
  1891. <table class="idleAgainConfTable">
  1892. <tbody>
  1893. <tr id="scriptStatueToggle" onclick="window.autoChangeVar('toggleStatue',!scriptVars.toggleStatue,this.id)" style="cursor: pointer; color: red;">
  1894. <td style="padding-left: 10px;"><img src="images/bronzeStatueMetalDetector.png" class="img-small"></td>
  1895. <td class="idleAgainConfTd">STATUE SELL</td>
  1896. </tr>
  1897. </tbody>
  1898. </table>
  1899. <table class="idleAgainConfTable">
  1900. <tbody>
  1901. <tr id="scriptArtifactToggle" onclick="window.autoChangeVar('toggleArtifact',!scriptVars.toggleArtifact,this.id)" style="cursor: pointer; color: red;">
  1902. <td style="padding-left: 10px;"><img src="images/skullArtifact.png" class="img-small"></td>
  1903. <td class="idleAgainConfTd">ARTIFACT CONVERT</td>
  1904. </tr>
  1905. </tbody>
  1906. </table>
  1907. </div>`
  1908.  
  1909. let scriptConfCookingTab = `<div id="tab-scriptConfigCooking" style="display:none">
  1910. <div class="main-button-lighter">
  1911. <table>
  1912. <tbody>
  1913. <tr onclick="navigate('scriptConfig');playPreviousMenuSound();" style="cursor: pointer;">
  1914. <td><img src="images/back.png" class="img-small"></td>
  1915. <td class="back-label">BACK</td>
  1916. </tr>
  1917. </tbody>
  1918. </table>
  1919. </div>
  1920. <table class="idleAgainConfTable">
  1921. <tbody>
  1922. <tr id="scriptBoatToggle" onclick="window.autoChangeVar('toggleBoat',!scriptVars.toggleBoat,this.id)" style="cursor: pointer; color: green;">
  1923. <td style="padding-left: 10px;"><img src="images/sailBoat.png" class="img-small"></td>
  1924. <td class="idleAgainConfTd">BOAT</td>
  1925. </tr>
  1926. </tbody>
  1927. </table>
  1928. <table style="border: 1px solid grey;border-radius: 6px;margin: 10px 7px;background: #1a1a1a;font-size: 20px;width: 97%;">
  1929. <tbody style="display: table-row;">
  1930. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptBoatSend','rowBoat',!scriptVars.scriptBoatSend.rowBoat,this.id)" id="rowBoatSendToggle">
  1931. <td style="padding-left: 10px;width: 5%;"><img src="images/rowBoat.png" class="img-small"></td>
  1932. <td style="text-align: center;width: 40%">ROW BOAT</td>
  1933. </tr>
  1934. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptBoatSend','canoeBoat',!scriptVars.scriptBoatSend.canoeBoat,this.id)" id="canoeBoatSendToggle">
  1935. <td style="padding-left: 10px;width: 5%;"><img src="images/canoeBoat.png" class="img-small"></td>
  1936. <td style="text-align: center;width: 40%">CANOE</td>
  1937. </tr>
  1938. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptBoatSend','sailBoat',!scriptVars.scriptBoatSend.sailBoat,this.id)" id="sailBoatSendToggle">
  1939. <td style="padding-left: 10px;width: 5%;"><img src="images/sailBoat.png" class="img-small"></td>
  1940. <td style="text-align: center;width: 40%">SAIL BOAT</td>
  1941. </tr>
  1942. <tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptBoatSend','highWind',!scriptVars.scriptBoatSend.highWind,this.id)" id="highWindSendToggle">
  1943. <td style="padding-left: 10px;width: 5%;"><img src="images/windIcon.png" class="img-small"></td>
  1944. <td style="text-align: center;width: 40%">WAIT HIGH WIND</td>
  1945. </tr>
  1946. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptBoatSend','steamBoat',!scriptVars.scriptBoatSend.steamBoat,this.id)" id="steamBoatSendToggle">
  1947. <td style="padding-left: 10px;width: 5%;"><img src="images/steamBoat.png" class="img-small"></td>
  1948. <td style="text-align: center;width: 40%">STEAM BOAT</td>
  1949. </tr>
  1950. <tr style="display: inline-block; color: green; width: 50%;" onclick="window.autoChangeObject('scriptBoatSend','trawler',!scriptVars.scriptBoatSend.trawler,this.id)" id="trawlerSendToggle">
  1951. <td style="padding-left: 10px;width: 5%;"><img src="images/trawler.png" class="img-small"></td>
  1952. <td style="text-align: center;width: 40%">TRAWLER</td>
  1953. </tr>
  1954. </tbody>
  1955. </table>
  1956. </div>`;
  1957. let logoutTab = document.getElementById('tab-logout');
  1958. logoutTab.insertAdjacentHTML('afterend', chatDiv);
  1959. logoutTab.insertAdjacentHTML('afterend', scriptConfCookingTab);
  1960. logoutTab.insertAdjacentHTML('afterend', scriptConfExploringTab);
  1961. logoutTab.insertAdjacentHTML('afterend', scriptConfPotionsTab);
  1962. logoutTab.insertAdjacentHTML('afterend', scriptConfBrewingTab);
  1963. logoutTab.insertAdjacentHTML('afterend', scriptConfSeedsTab);
  1964. logoutTab.insertAdjacentHTML('afterend', scriptConfFarmingTab);
  1965. logoutTab.insertAdjacentHTML('afterend', scriptConfWoodcuttingTab);
  1966. logoutTab.insertAdjacentHTML('afterend', scriptConfCraftingTab);
  1967. logoutTab.insertAdjacentHTML('afterend', scriptConfMiningTab);
  1968. logoutTab.insertAdjacentHTML('afterend', scriptConfTab);
  1969. let seeds = ["red Mushroom Seeds","dotted Green Leaf Seeds","green Leaf Seeds","lime Leaf Seeds","gold Leaf Seeds","crystal Leaf Seeds","striped Green Leaf Seeds","striped Gold Leaf Seeds","striped Crystal Leaf Seeds","tree Seeds","oak Tree Seeds","willow Tree Seeds","maple Tree Seeds","redwood Tree Seeds","pine Tree Seeds","haunted Tree Seeds","jungle Tree Seeds","lava Tree Seeds","gold Tree Seeds","magic Tree Seeds","apple Tree Seeds","cactus Tree Seeds","banana Tree Seeds","palm Tree Seeds","pineapple Tree Seeds","starfruit Tree Seeds","gold Apple Tree Seeds"];
  1970. let sortableSeedsOl = document.getElementById('sortableSeeds');
  1971. seeds.forEach(function(seed) {
  1972. let seedLi = `<li class="ui-state-default sortableItem" value="${seed.replaceAll(' ','')}" class="idleAgainSortables">
  1973. <input type="checkbox" class="seed-checkbox"> ${seed.toUpperCase()}<img src="images/${seed.replaceAll(' ','')}.png" class="img-small" style="padding-right: 10px;">
  1974. </li>`;
  1975. sortableSeedsOl.insertAdjacentHTML('beforeend', seedLi);
  1976. });
  1977. let areas = ['fields', 'forests', 'caves', 'volcano', 'northern Fields', 'haunted Mansion', 'desert', 'ocean', 'jungle', 'dungeon Entrance', 'dungeon', 'castle', 'cemetery', 'factory', 'haunted Woods', 'deep Ocean'];
  1978. let strengthTableBody = document.getElementById('strengthTableBody');
  1979. areas.forEach(function(area) {
  1980. let areaTr = `<tr style="display: inline-block; color: red; width: 50%;" onclick="window.autoChangeObject('scriptStrength','${area.replace(" ","")}',!scriptVars.scriptStrength.${area.replace(" ","")},this.id)" id="${area.replace(" ","")}StrengthToggle">
  1981. <td style="padding-left: 10px;width: 5%;"><img src="images/${area.replace(" ","")}.png" class="img-small"></td>
  1982. <td style="text-align: center;width: 40%">${area.toUpperCase()}</td>
  1983. </tr>`;
  1984. strengthTableBody.insertAdjacentHTML('beforeend', areaTr);
  1985. });
  1986.  
  1987. let potionsList = ["furnace Speed Potion","seed Finder Potion","compost Potion","tree Compost Potion","fishing Speed Potion","woodcutting Xp Potion","exploring Speed Potion","bait Potion","farming Xp Potion","fast Compost Potion","oil Potion","coin Potion","pirates Potion","promethium Potion","rocket Speed Potion","fruit Tree Potion","titanium Potion","research Speed Potion","super Rocket Speed Potion"];
  1988. let sortablePotionsOl = document.getElementById('sortablePotions');
  1989. potionsList.forEach(function(potion) {
  1990. let potionli = `<li class="ui-state-default sortableItem" value="${potion.replaceAll(' ','')}" class="idleAgainSortables">
  1991. <input type="checkbox" class="drink-checkbox" style="margin-right: 30px;" onchange="window.savePotions()">${potion.toUpperCase()}<img src="images/${potion.replaceAll(' ','')}.png" class="img-small" style="padding-right: 10px;"><input type="checkbox" class="brew-checkbox" style="margin-right: 30px;" onchange="window.savePotions()">
  1992. </li>`;
  1993. sortablePotionsOl.insertAdjacentHTML('beforeend', potionli);
  1994. });
  1995. let compareBar = `<a href="https://dounford-felipe.github.io/DHM-Compare/" target="_blank" style="text-decoration:none;">
  1996. <div class="main-button">
  1997. <table>
  1998. <tbody><tr>
  1999. <td><img src="https://raw.githubusercontent.com/Dounford-Felipe/DHM-Compare/main/images/favicon.ico" class="img-small"></td>
  2000. <td class="back-label">COMPARE TOOL</td>
  2001. </tr></tbody>
  2002. </table>
  2003. </div>
  2004. </a>`;
  2005. let profileLink = document.getElementById('your-profile-link');
  2006. profileLink.insertAdjacentHTML('afterend', compareBar);
  2007. let cookAllItem = `<div class="main-button-lighter" id="scriptCook" style="background-color: rgb(0, 77, 0);">
  2008. <table>
  2009. <tbody>
  2010. <tr>
  2011. <td style="width: 20%; position: relative;"><img src="images/heat.png" class="img-medium"></td>
  2012. <td class="main-button-table-tr-td2">
  2013. <span class="main-button-span-item-owned" id="heatNeeded">0</span><span> HEAT NEEDED</span>
  2014. <hr class="no-space">
  2015. <span class="main-button-span-desc" onclick="getHeatNeeded()" style="background-color: darkcyan;padding: 4px;">GET HEAT NEEDED</span>
  2016. <span class="main-button-span-desc" onclick="cookAll()" style="background-color: darkcyan;padding: 4px;margin-left: 10px;">COOK ALL</span>
  2017. </td>
  2018. </tr>
  2019. </tbody>
  2020. </table>
  2021. </div>`
  2022. let energyItemBox = document.getElementById('item-box-energy');
  2023. energyItemBox.insertAdjacentHTML('afterend', cookAllItem);
  2024. let growTimeNeededItem = `<div class="main-button-lighter" id="scriptgrowTimeNeeded" style="background-color: rgb(26, 51, 0);">
  2025. <table>
  2026. <tbody>
  2027. <tr>
  2028. <td style="width: 20%; position: relative;"><img src="images/clock.png" class="img-medium"></td>
  2029. <td class="main-button-table-tr-td2" style="padding-bottom: 6px;">
  2030. <span class="main-button-span-item-owned" id="growTimeNeeded">TIME TO GROW ALL</span>
  2031. <hr class="no-space">
  2032. <span class="main-button-span-desc" onclick="getTimeNeeded()" style="background-color: darkcyan;padding: 4px;"> GET TIME NEEDED TO GROW ALL</span>
  2033. </td>
  2034. </tr>
  2035. </tbody>
  2036. </table>
  2037. </div>`
  2038. let bonemealNeededItem = `<div class="main-button-lighter" id="scriptBonemealNeeded" style="background-color: rgb(26, 51, 0);">
  2039. <table>
  2040. <tbody>
  2041. <tr>
  2042. <td style="width: 20%; position: relative;"><img src="images/ashes.png" class="img-medium"></td>
  2043. <td class="main-button-table-tr-td2" style="padding-bottom: 6px;">
  2044. <span class="main-button-span-item-owned" id="bonemealNeeded">0</span><span> BONEMEAL NEEDED</span>
  2045. <hr class="no-space">
  2046. <span class="main-button-span-desc" onclick="getBonemealNeeded()" style="background-color: darkcyan;padding: 4px;"> GET BONEMEAL NEEDED</span>
  2047. </td>
  2048. </tr>
  2049. </tbody>
  2050. </table>
  2051. </div>`
  2052. let bonemealBinItemBox = document.getElementById('item-box-bonemealBin');
  2053. bonemealBinItemBox.insertAdjacentHTML('afterend', growTimeNeededItem);
  2054. bonemealBinItemBox.insertAdjacentHTML('afterend', bonemealNeededItem);
  2055. $("#div-emojis").draggable()
  2056. const pickerOptions = {onEmojiSelect: function(emoji) {document.getElementById('message-body').value += emoji.native},maxFrequentRows:1}
  2057. const picker = new EmojiMart.Picker(pickerOptions)
  2058. picker.style.height='350px'
  2059. document.getElementById("div-emojis").appendChild(picker)
  2060. document.getElementById('emojis').addEventListener('click', toggleEmojiPicker)
  2061. document.getElementById('scriptImportConfig').addEventListener('click', function () {
  2062. document.getElementById('saveInput').click();
  2063. });
  2064. }
  2065.  
  2066. function addWikiButton() {
  2067. let itemBox = document.querySelectorAll('[id^="item-box-"]');
  2068. itemBox = Array.from(itemBox);
  2069. itemBox = itemBox.filter(function(element) {
  2070. return !element.id.startsWith("item-box-amount");
  2071. });
  2072. for (var i = 0; i < itemBox.length; i++) {
  2073. let wikiURL = itemBox[i].id.substr(9).replace(/([A-Z0-9])/g, ' $1').trim();
  2074. wikiURL = wikiURL.charAt(0).toUpperCase() + wikiURL.slice(1);
  2075. let wikiButton = document.createElement("a");
  2076. wikiButton.href = 'https://diamondhuntmobile.fandom.com/wiki/'+wikiURL;
  2077. wikiButton.target = '_blank';
  2078. wikiButton.style.position = 'absolute';
  2079. wikiButton.style.top = '0';
  2080. wikiButton.innerHTML = '<img src="images/wiki.png" style="width:25px;height:25px;">';
  2081. itemBox[i].querySelector('td').style.position = 'relative';
  2082. itemBox[i].querySelector('td').appendChild(wikiButton);
  2083. }
  2084. }
  2085.  
  2086. window.scriptStyleTabs = function () {
  2087. document.getElementById('scriptGlobalToggle').style.color = scriptVars.toggleGlobal ? 'green' : 'red';
  2088. document.getElementById('scriptLoginToggle').style.color = JSON.parse(localStorage.getItem('autoLogin')) ? 'green' : 'red';
  2089. document.getElementById('scriptGeodeToggle').style.color = scriptVars.toggleGeodeOpen ? 'green' : 'red';
  2090. document.getElementById('scriptMineralToggle').style.color = scriptVars.toggleMineralIdentify ? 'green' : 'red';
  2091. document.getElementById('scriptNecklaceToggle').style.color = scriptVars.toggleNecklaceCharge ? 'green' : 'red';
  2092. document.getElementById('scriptTrainToggle').style.color = scriptVars.toggleTrain ? 'green' : 'red';
  2093. document.getElementById('scriptTrainAmount').value = scriptVars.scriptTrainAmount;
  2094. document.getElementById('scriptRocketToggle').style.color = scriptVars.toggleRocket ? 'green' : 'red';
  2095. document.getElementById('scriptRocketDestination').value = scriptVars.scriptRocket;
  2096. document.getElementById('scriptSmeltingToggle').style.color = scriptVars.toggleSmelting ? 'green' : 'red';
  2097. document.getElementById('scriptRefinaryToggle').style.color = scriptVars.toggleRefinary ? 'green' : 'red';
  2098. document.getElementById('scriptRefinaryOptions').value = scriptVars.scriptRefinaryBar;
  2099. document.getElementById('scriptFoundryToggle').style.color = scriptVars.toggleCharcoal ? 'green' : 'red';
  2100. document.getElementById('scriptFoundryWoodOptions').value = scriptVars.scriptFoundryWood;
  2101. document.getElementById('scriptLumberToggle').style.color = scriptVars.toggleWoodcutting ? 'green' : 'red';
  2102. document.getElementById('treeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.tree ? 'green' : 'red';
  2103. document.getElementById('oakTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.oakTree ? 'green' : 'red';
  2104. document.getElementById('willowTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.willowTree ? 'green' : 'red';
  2105. document.getElementById('mapleTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.mapleTree ? 'green' : 'red';
  2106. document.getElementById('redwoodTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.redwoodTree ? 'green' : 'red';
  2107. document.getElementById('pineTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.pineTree ? 'green' : 'red';
  2108. document.getElementById('hauntedTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.hauntedTree ? 'green' : 'red';
  2109. document.getElementById('jungleTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.jungleTree ? 'green' : 'red';
  2110. document.getElementById('lavaTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.lavaTree ? 'green' : 'red';
  2111. document.getElementById('goldTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.goldTree ? 'green' : 'red';
  2112. document.getElementById('magicTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.magicTree ? 'green' : 'red';
  2113. document.getElementById('appleTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.appleTree ? 'green' : 'red';
  2114. document.getElementById('cactusTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.cactusTree ? 'green' : 'red';
  2115. document.getElementById('bananaTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.bananaTree ? 'green' : 'red';
  2116. document.getElementById('palmTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.palmTree ? 'green' : 'red';
  2117. document.getElementById('pineappleTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.pineappleTree ? 'green' : 'red';
  2118. document.getElementById('starfruitTreeIgnoreToggle').style.color = scriptVars.scriptTreeIgnore.starfruitTree ? 'green' : 'red';
  2119. document.getElementById('scriptFarmingToggle').style.color = scriptVars.toggleFarming ? 'green' : 'red';
  2120. document.getElementById('scriptBonesToggle').style.color = scriptVars.toggleBones ? 'green' : 'red';
  2121. document.getElementById('bonesIgnoreToggle').style.color = scriptVars.scriptBonesIgnore.bones ? 'green' : 'red';
  2122. document.getElementById('ashesIgnoreToggle').style.color = scriptVars.scriptBonesIgnore.ashes ? 'green' : 'red';
  2123. document.getElementById('iceBonesIgnoreToggle').style.color = scriptVars.scriptBonesIgnore.iceBones ? 'green' : 'red';
  2124. document.getElementById('zombieBonesIgnoreToggle').style.color = scriptVars.scriptBonesIgnore.zombieBones ? 'green' : 'red';
  2125. document.getElementById('bloodBonesIgnoreToggle').style.color = scriptVars.scriptBonesIgnore.bloodBones ? 'green' : 'red';
  2126. document.getElementById('fishBonesIgnoreToggle').style.color = scriptVars.scriptBonesIgnore.fishBones ? 'green' : 'red';
  2127. document.getElementById('scriptFertilizeToggle').style.color = scriptVars.toggleFertilize ? 'green' : 'red';
  2128. document.getElementById('MushroomFertilizeToggle').style.color = scriptVars.scriptFertilize.redMushroomSeeds ? 'green' : 'red';
  2129. document.getElementById('dottedGreenFertilizeToggle').style.color = scriptVars.scriptFertilize.dottedGreenLeafSeeds ? 'green' : 'red';
  2130. document.getElementById('greenLeafFertilizeToggle').style.color = scriptVars.scriptFertilize.greenLeafSeeds ? 'green' : 'red';
  2131. document.getElementById('limeLeafFertilizeToggle').style.color = scriptVars.scriptFertilize.limeLeafSeeds ? 'green' : 'red';
  2132. document.getElementById('goldLeafFertilizeToggle').style.color = scriptVars.scriptFertilize.goldLeafSeeds ? 'green' : 'red';
  2133. document.getElementById('crystalLeafFertilizeToggle').style.color = scriptVars.scriptFertilize.crystalLeafSeeds ? 'green' : 'red';
  2134. document.getElementById('stripedGreenLeafFertilizeToggle').style.color = scriptVars.scriptFertilize.stripedGreenLeafSeeds ? 'green' : 'red';
  2135. document.getElementById('stripedGoldLeafFertilizeToggle').style.color = scriptVars.scriptFertilize.stripedGoldLeafSeeds ? 'green' : 'red';
  2136. document.getElementById('stripedCrystalLeafFertilizeToggle').style.color = scriptVars.scriptFertilize.stripedCrystalLeafSeeds ? 'green' : 'red';
  2137. document.getElementById('scriptDrinkToggle').style.color = scriptVars.toggleDrink ? 'green' : 'red';
  2138. document.getElementById('scriptBrewToggle').style.color = scriptVars.toggleBrew ? 'green' : 'red';
  2139. document.getElementById('scriptTreeUpgradeToggle').style.color = scriptVars.toggleTreeUpgrade ? 'green' : 'red';
  2140. document.getElementById('treeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.tree ? 'green' : 'red';
  2141. document.getElementById('oakTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.oakTree ? 'green' : 'red';
  2142. document.getElementById('willowTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.willowTree ? 'green' : 'red';
  2143. document.getElementById('mapleTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.mapleTree ? 'green' : 'red';
  2144. document.getElementById('redwoodTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.redwoodTree ? 'green' : 'red';
  2145. document.getElementById('pineTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.pineTree ? 'green' : 'red';
  2146. document.getElementById('hauntedTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.hauntedTree ? 'green' : 'red';
  2147. document.getElementById('jungleTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.jungleTree ? 'green' : 'red';
  2148. document.getElementById('lavaTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.lavaTree ? 'green' : 'red';
  2149. document.getElementById('goldTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.goldTree ? 'green' : 'red';
  2150. document.getElementById('magicTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.magicTree ? 'green' : 'red';
  2151. document.getElementById('appleTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.appleTree ? 'green' : 'red';
  2152. document.getElementById('cactusTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.cactusTree ? 'green' : 'red';
  2153. document.getElementById('bananaTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.bananaTree ? 'green' : 'red';
  2154. document.getElementById('palmTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.palmTree ? 'green' : 'red';
  2155. document.getElementById('pineappleTreeUpgradeToggle').style.color = scriptVars.scriptTreeUpgrade.pineappleTree ? 'green' : 'red';
  2156. document.getElementById('fieldsStrengthToggle').style.color = scriptVars.scriptStrength.fields ? 'green' : 'red';
  2157. document.getElementById('forestsStrengthToggle').style.color = scriptVars.scriptStrength.forests ? 'green' : 'red';
  2158. document.getElementById('cavesStrengthToggle').style.color = scriptVars.scriptStrength.caves ? 'green' : 'red';
  2159. document.getElementById('volcanoStrengthToggle').style.color = scriptVars.scriptStrength.volcano ? 'green' : 'red';
  2160. document.getElementById('northernFieldsStrengthToggle').style.color = scriptVars.scriptStrength.northernFields ? 'green' : 'red';
  2161. document.getElementById('hauntedMansionStrengthToggle').style.color = scriptVars.scriptStrength.hauntedMansion ? 'green' : 'red';
  2162. document.getElementById('desertStrengthToggle').style.color = scriptVars.scriptStrength.desert ? 'green' : 'red';
  2163. document.getElementById('oceanStrengthToggle').style.color = scriptVars.scriptStrength.ocean ? 'green' : 'red';
  2164. document.getElementById('jungleStrengthToggle').style.color = scriptVars.scriptStrength.jungle ? 'green' : 'red';
  2165. document.getElementById('dungeonEntranceStrengthToggle').style.color = scriptVars.scriptStrength.dungeonEntrance ? 'green' : 'red';
  2166. document.getElementById('dungeonStrengthToggle').style.color = scriptVars.scriptStrength.dungeon ? 'green' : 'red';
  2167. document.getElementById('castleStrengthToggle').style.color = scriptVars.scriptStrength.castle ? 'green' : 'red';
  2168. document.getElementById('cemeteryStrengthToggle').style.color = scriptVars.scriptStrength.cemetery ? 'green' : 'red';
  2169. document.getElementById('factoryStrengthToggle').style.color = scriptVars.scriptStrength.factory ? 'green' : 'red';
  2170. document.getElementById('hauntedWoodsStrengthToggle').style.color = scriptVars.scriptStrength.hauntedWoods ? 'green' : 'red';
  2171. document.getElementById('deepOceanStrengthToggle').style.color = scriptVars.scriptStrength.deepOcean ? 'green' : 'red';
  2172. document.getElementById('scriptExploreToggle').style.color = scriptVars.toggleExplore ? 'green' : 'red';
  2173. document.getElementById('scriptAreaOptions').value = scriptVars.scriptArea;
  2174. window.monsterOptions(scriptVars.scriptArea);
  2175. document.getElementById('scriptFightToggle').style.color = scriptVars.toggleFight ? 'green' : 'red';
  2176. document.getElementById('fieldsResetToggle').style.color = scriptVars.scriptResetArea.fields ? 'green' : 'red';
  2177. document.getElementById('forestsResetToggle').style.color = scriptVars.scriptResetArea.forests ? 'green' : 'red';
  2178. document.getElementById('cavesResetToggle').style.color = scriptVars.scriptResetArea.caves ? 'green' : 'red';
  2179. document.getElementById('volcanoResetToggle').style.color = scriptVars.scriptResetArea.volcano ? 'green' : 'red';
  2180. document.getElementById('northernFieldsResetToggle').style.color = scriptVars.scriptResetArea.northernFields ? 'green' : 'red';
  2181. document.getElementById('hauntedMansionResetToggle').style.color = scriptVars.scriptResetArea.hauntedMansion ? 'green' : 'red';
  2182. document.getElementById('desertResetToggle').style.color = scriptVars.scriptResetArea.desert ? 'green' : 'red';
  2183. document.getElementById('oceanResetToggle').style.color = scriptVars.scriptResetArea.ocean ? 'green' : 'red';
  2184. document.getElementById('jungleResetToggle').style.color = scriptVars.scriptResetArea.jungle ? 'green' : 'red';
  2185. document.getElementById('dungeonEntranceResetToggle').style.color = scriptVars.scriptResetArea.dungeonEntrance ? 'green' : 'red';
  2186. document.getElementById('dungeonResetToggle').style.color = scriptVars.scriptResetArea.dungeon ? 'green' : 'red';
  2187. document.getElementById('castleResetToggle').style.color = scriptVars.scriptResetArea.castle ? 'green' : 'red';
  2188. document.getElementById('cemeteryResetToggle').style.color = scriptVars.scriptResetArea.cemetery ? 'green' : 'red';
  2189. document.getElementById('factoryResetToggle').style.color = scriptVars.scriptResetArea.factory ? 'green' : 'red';
  2190. document.getElementById('hauntedWoodsResetToggle').style.color = scriptVars.scriptResetArea.hauntedWoods ? 'green' : 'red';
  2191. document.getElementById('deepOceanResetToggle').style.color = scriptVars.scriptResetArea.deepOcean ? 'green' : 'red';
  2192. document.getElementById('scriptResetToggle').style.color = scriptVars.toggleResetFight ? 'green' : 'red';
  2193. document.getElementById('scriptMonsterOptions').value = scriptVars.scriptMonster;
  2194. document.getElementById('scriptMonsterFindToggle').style.color = scriptVars.toggleMonsterFind ? 'green' : 'red';
  2195. document.getElementById('scriptShinyToggle').style.color = scriptVars.toggleShiny ? 'green' : 'red';
  2196. document.getElementById('scriptSpellToggle').style.color = scriptVars.toggleSpell ? 'green' : 'red';
  2197. document.getElementById('scriptCombatPotionToggle').style.color = scriptVars.toggleCombatPotion ? 'green' : 'red';
  2198. document.getElementById('scriptHealToggle').style.color = scriptVars.toggleHeal ? 'green' : 'red';
  2199. document.getElementById('scriptBloodMoonToggle').style.color = scriptVars.toggleBM ? 'green' : 'red';
  2200. document.getElementById('scriptCousinToggle').style.color = scriptVars.toggleCousin ? 'green' : 'red';
  2201. document.getElementById('scriptCousinArea').value = scriptVars.scriptCousinArea;
  2202. document.getElementById('scriptBagsToggle').style.color = scriptVars.toggleBags ? 'green' : 'red';
  2203. document.getElementById('scriptFieldsBagsToggle').style.color = scriptVars.toggleFieldsBags ? 'green' : 'red';
  2204. document.getElementById('scriptStatueToggle').style.color = scriptVars.toggleStatue ? 'green' : 'red';
  2205. document.getElementById('scriptArtifactToggle').style.color = scriptVars.toggleArtifact ? 'green' : 'red';
  2206. document.getElementById('scriptBoatToggle').style.color = scriptVars.toggleBoat ? 'green' : 'red';
  2207. document.getElementById('rowBoatSendToggle').style.color = scriptVars.scriptBoatSend.rowBoat ? 'green' : 'red';
  2208. document.getElementById('canoeBoatSendToggle').style.color = scriptVars.scriptBoatSend.canoeBoat ? 'green' : 'red';
  2209. document.getElementById('sailBoatSendToggle').style.color = scriptVars.scriptBoatSend.sailBoat ? 'green' : 'red';
  2210. document.getElementById('highWindSendToggle').style.color = scriptVars.scriptBoatSend.highWind ? 'green' : 'red';
  2211. document.getElementById('steamBoatSendToggle').style.color = scriptVars.scriptBoatSend.steamBoat ? 'green' : 'red';
  2212. document.getElementById('trawlerSendToggle').style.color = scriptVars.scriptBoatSend.trawler ? 'green' : 'red';
  2213. document.getElementById('scriptAutoScroll').src = scriptVars.chatAutoScroll ? 'images/check.png' :'images/x.png';
  2214. };
  2215.  
  2216. function saveOreOrder() {
  2217. let key = `idleAgain-oreOrder${window.username}`;
  2218. var oreItems = document.getElementById("sortableOres").getElementsByTagName("li");
  2219. var oreOrder = [];
  2220.  
  2221. for (var i = 0; i < oreItems.length; i++) {
  2222. var oreValue = oreItems[i].getAttribute("value");
  2223. var oreMinimum = oreItems[i].querySelector(".oreMinimum").value;
  2224.  
  2225.  
  2226. oreOrder.push({ value: oreValue, minimum: oreMinimum });
  2227. }
  2228.  
  2229. localStorage.setItem(key, JSON.stringify(oreOrder));
  2230. }
  2231.  
  2232. window.loadOreOrder = function () {
  2233. let key = `idleAgain-oreOrder${window.username}`;
  2234. var oreOrderData = localStorage.getItem(key);
  2235.  
  2236. if (oreOrderData) {
  2237. oreOrderData = JSON.parse(oreOrderData);
  2238. var oreOrderList = document.getElementById("sortableOres");
  2239.  
  2240. for (var i = 0; i < oreOrderData.length; i++) {
  2241. var oreValue = oreOrderData[i].value;
  2242. var minimum = oreOrderData[i].minimum;
  2243. var oreItem = oreOrderList.querySelector("[value='" + oreValue + "']");
  2244.  
  2245. oreOrderList.appendChild(oreItem);
  2246. var oreMinimum = oreItem.querySelector(".oreMinimum");
  2247. oreMinimum.value = minimum;
  2248. }
  2249. }
  2250. };
  2251.  
  2252. function saveSeedOrder() {
  2253. let key = `idleAgain-seedOrder${window.username}`;
  2254. var seedOrderList = document.getElementById("sortableSeeds");
  2255. var seedItems = seedOrderList.getElementsByTagName("li");
  2256. var seedOrder = [];
  2257.  
  2258. for (var i = 0; i < seedItems.length; i++) {
  2259. var seedValue = seedItems[i].getAttribute("value");
  2260. var seedCheckbox = seedItems[i].querySelector(".seed-checkbox");
  2261. var isChecked = seedCheckbox.checked;
  2262.  
  2263. seedOrder.push({ value: seedValue, checked: isChecked });
  2264. }
  2265.  
  2266. localStorage.setItem(key, JSON.stringify(seedOrder));
  2267. }
  2268.  
  2269. window.loadSeedOrder = function () {
  2270. let key = `idleAgain-seedOrder${window.username}`;
  2271. var seedOrderData = localStorage.getItem(key);
  2272.  
  2273. if (seedOrderData) {
  2274. seedOrderData = JSON.parse(seedOrderData);
  2275. var seedOrderList = document.getElementById("sortableSeeds");
  2276.  
  2277. for (var i = 0; i < seedOrderData.length; i++) {
  2278. var seedValue = seedOrderData[i].value;
  2279. var isChecked = seedOrderData[i].checked;
  2280. var seedItem = seedOrderList.querySelector("[value='" + seedValue + "']");
  2281. var seedCheckbox = seedItem.querySelector(".seed-checkbox");
  2282.  
  2283. if (isChecked) {
  2284. seedCheckbox.checked = true;
  2285. } else {
  2286. seedCheckbox.checked = false;
  2287. }
  2288.  
  2289. seedOrderList.appendChild(seedItem);
  2290. }
  2291. }
  2292. };
  2293.  
  2294. window.savePotions = function() {
  2295. let key = `idleAgain-potionState${window.username}`;
  2296. var potionList = document.getElementById("sortablePotions");
  2297. var potionItems = potionList.getElementsByTagName("li");
  2298. var potionState = [];
  2299.  
  2300. for (var i = 0; i < potionItems.length; i++) {
  2301. var potionValue = potionItems[i].getAttribute("value");
  2302. var drinkCheckbox = potionItems[i].querySelector(".drink-checkbox");
  2303. var brewCheckbox = potionItems[i].querySelector(".brew-checkbox");
  2304. var isDrinkChecked = drinkCheckbox.checked;
  2305. var isBrewChecked = brewCheckbox.checked;
  2306.  
  2307. potionState.push({
  2308. value: potionValue,
  2309. drinkChecked: isDrinkChecked,
  2310. brewChecked: isBrewChecked
  2311. });
  2312. }
  2313.  
  2314. localStorage.setItem(key, JSON.stringify(potionState));
  2315. };
  2316.  
  2317. window.loadPotions = function () {
  2318. let key = `idleAgain-potionState${window.username}`;
  2319. var potionState = localStorage.getItem(key);
  2320.  
  2321. if (potionState) {
  2322. potionState = JSON.parse(potionState);
  2323. var potionList = document.getElementById("sortablePotions");
  2324. var potionItems = potionList.getElementsByTagName("li");
  2325.  
  2326. for (var i = 0; i < potionState.length; i++) {
  2327. var potionValue = potionState[i].value;
  2328. var drinkCheckbox = potionItems[i].querySelector(".drink-checkbox");
  2329. var brewCheckbox = potionItems[i].querySelector(".brew-checkbox");
  2330. var isDrinkChecked = potionState[i].drinkChecked;
  2331. var isBrewChecked = potionState[i].brewChecked;
  2332.  
  2333. drinkCheckbox.checked = isDrinkChecked;
  2334. brewCheckbox.checked = isBrewChecked;
  2335. }
  2336. }
  2337. };
  2338.  
  2339. window.scriptExportConfig = function () {
  2340. let saveData = '';
  2341. saveData += JSON.stringify(scriptVars) + ',,,';
  2342. saveData += localStorage.getItem(`idleAgain-oreOrder${window.username}`) !== null ? localStorage.getItem(`idleAgain-oreOrder${window.username}`) + ',,,' : 'empty,,,';
  2343. saveData += localStorage.getItem(`idleAgain-potionState${window.username}`) !== null ? localStorage.getItem(`idleAgain-potionState${window.username}`) + ',,,' : 'empty,,,';
  2344. saveData += localStorage.getItem(`idleAgain-seedOrder${window.username}`) !== null ? localStorage.getItem(`idleAgain-seedOrder${window.username}`) : 'empty';
  2345. var a = document.createElement("a");
  2346. var file = new Blob([saveData], {type: 'text/plain'});
  2347. a.href = URL.createObjectURL(file);
  2348. a.download = 'IdleAgain-' + username;
  2349. a.click();
  2350. };
  2351.  
  2352. window.monsterOptions = function(monsterArea) {
  2353. var select = document.getElementById("scriptMonsterOptions");
  2354. select.innerHTML = "";
  2355.  
  2356. if (monsterArea === "fields") {
  2357. addOptions(select, ["chicken", "rat", "bee", "chickenGroup"]);
  2358. } else if (monsterArea === "forests") {
  2359. addOptions(select, ["snake", "ent", "thief"]);
  2360. } else if (monsterArea === "caves") {
  2361. addOptions(select, ["bear", "bat", "skeleton"]);
  2362. } else if (monsterArea === "volcano") {
  2363. addOptions(select, ["lavaSnake", "fireHawk", "fireMage", "fireHawkGroup"]);
  2364. } else if (monsterArea === "northernFields") {
  2365. addOptions(select, ["iceHawk", "frozenEnt", "golem", "iceHawkGroup"]);
  2366. } else if (monsterArea === "hauntedMansion") {
  2367. addOptions(select, ["ghost", "skeletonGhost", "reaper"]);
  2368. } else if (monsterArea === "desert") {
  2369. addOptions(select, ["desertLizard2", "scorpion", "lizard"]);
  2370. } else if (monsterArea === "ocean") {
  2371. addOptions(select, ["squid", "oceanShark", "pufferFish"]);
  2372. } else if (monsterArea === "jungle") {
  2373. addOptions(select, ["gorilla", "elephant", "tribe"]);
  2374. } else if (monsterArea === "dungeonEntrance") {
  2375. addOptions(select, ["gargoyle", "poisonTribe", "statue"]);
  2376. } else if (monsterArea === "dungeon") {
  2377. addOptions(select, ["skeletonMonks", "darkMage", "skeletonPrisoner"]);
  2378. } else if (monsterArea === "castle") {
  2379. addOptions(select, ["castleKnight", "dragon", "castleMage"]);
  2380. } else if (monsterArea === "cemetery") {
  2381. addOptions(select, ["angel", "zombie", "babySkeleton"]);
  2382. } else if (monsterArea === "factory") {
  2383. addOptions(select, ["robotArcher", "robotMage", "robotWheelie"]);
  2384. } else if (monsterArea === "hauntedWoods") {
  2385. addOptions(select, ["reaper2", "skeletonGhost2", "ghostPack"]);
  2386. } else if (monsterArea === "deepOcean") {
  2387. addOptions(select, ["poisonSquid", "tridentSoldier", "piranhas"]);
  2388. }
  2389. };
  2390.  
  2391. function addOptions(select, optionsArray) {
  2392. for (var i = 0; i < optionsArray.length; i++) {
  2393. var option = document.createElement("option");
  2394. var optionText = optionsArray[i].replace(/([A-Z0-9])/g, ' $1').trim();
  2395. option.value = optionsArray[i];
  2396. option.text = optionText.charAt(0).toUpperCase() + optionText.slice(1);
  2397. select.appendChild(option);
  2398. }
  2399. }
  2400.  
  2401. //Chat
  2402. const chatSend = () => {
  2403. var inputValue = document.getElementById('message-body').value.slice(-150);
  2404. if (blockedHTML.some(item => inputValue.includes(item))) {
  2405. inputValue = '';
  2406. showMessage("<b>Something you sent is not allowed to be send, please remove anything that can cause problems to others before try again.</b>",'ChatBot');
  2407. } else if (inputValue.match(/img=(["].*?["])/g)) {
  2408. inputValue = inputValue.replace(/img=(["].*?["])/g,'<img src=$1 class="img-small">');
  2409. publishMessage(inputValue);
  2410. } else {
  2411. publishMessage(inputValue);
  2412. }
  2413. document.getElementById('message-body').value = '';
  2414. };
  2415.  
  2416. window.sendChat = chatSend;
  2417.  
  2418. window.clearChat = function() {
  2419. document.getElementById('messages').innerHTML = '';
  2420. };
  2421.  
  2422. window.autoScroll = function() {
  2423. scriptVars.chatAutoScroll = !scriptVars.chatAutoScroll;
  2424. document.getElementById('scriptAutoScroll').src = scriptVars.chatAutoScroll ? 'images/check.png' :'images/x.png';
  2425. };
  2426.  
  2427. window.chatHelp = function() {
  2428. showMessage('Use <b>img="image-url"</b> to send images','ChatBot');
  2429. };
  2430.  
  2431. const showMessage = (msg, sender) => {
  2432. if (blockedHTML.some(item => msg.includes(item))) {
  2433. msg = 'This message was blocked for safety';
  2434. }
  2435. if (msg.startsWith('https') || msg.startsWith('www')) {msg = '<a href='+msg+' target="_blank">'+msg+'</a>';}
  2436. var messageContainer = document.createElement('div');
  2437. var senderElement = document.createElement('strong');
  2438. const date = new Date();
  2439. const hour = date.getHours();
  2440. const min = date.getMinutes();
  2441. senderElement.innerText = '[' +hour+ ':' +min+ '] '+ sender + ": ";
  2442. messageContainer.appendChild(senderElement);
  2443. var message = document.createElement('span');
  2444. message.innerHTML = msg;
  2445. if (msg.includes('@'+username)) {
  2446. message.style.backgroundColor = 'gold';
  2447. ding.play();
  2448. }
  2449. if (msg.includes('@everyone') && sender == 'felipewolf') {
  2450. message.style.backgroundColor = 'gold';
  2451. ding.play();
  2452. }
  2453. messageContainer.style.wordWrap = "break-word";
  2454. messageContainer.appendChild(message);
  2455. var messageArea = document.getElementById('messages');
  2456. messageArea.appendChild(messageContainer);
  2457. if (scriptVars.chatAutoScroll == true) {messageArea.scrollTop = messageArea.scrollHeight;}
  2458. };
  2459.  
  2460. let pubnub;
  2461.  
  2462. const setupPubNub = () => {
  2463. // Update this block with your publish/subscribe keys
  2464. pubnub = new PubNub({
  2465. publishKey : "pub-c-dc687e48-701e-473a-bbce-091329dcb723",
  2466. subscribeKey : "sub-c-feab3982-e3f8-4dec-ad9c-a82105f20783",
  2467. userId: "myUniqueUserId"
  2468. });
  2469. // add listener
  2470. const listener = {
  2471. status: (statusEvent) => {
  2472. if (statusEvent.category === "PNConnectedCategory") {
  2473. console.log("Connected");
  2474. }
  2475. },
  2476. message: (messageEvent) => {
  2477. showMessage(messageEvent.message.description, messageEvent.message.sender);
  2478. }
  2479. };
  2480. pubnub.addListener(listener);
  2481.  
  2482. // subscribe to a channel
  2483. pubnub.subscribe({
  2484. channels: ["hello_world"]
  2485. });
  2486. };
  2487.  
  2488. // publish message
  2489. const publishMessage = async (message) => {
  2490. // With the right payload, you can publish a message, add a reaction to a message,
  2491. // send a push notification, or send a small payload called a signal.
  2492. const publishPayload = {
  2493. channel : "hello_world",
  2494. message: {
  2495. title: "greeting",
  2496. description: message,
  2497. sender: username
  2498. }
  2499. };
  2500. await pubnub.publish(publishPayload);
  2501. };
  2502.  
  2503. setupPubNub();
  2504.  
  2505. function toggleEmojiPicker() {
  2506. var emojiPicker = document.getElementById("div-emojis");
  2507. emojiPicker.style.display = (emojiPicker.style.display === "none" || emojiPicker.style.display === "") ? "block" : "none";
  2508. }
  2509.  
  2510. window.onload = function() {
  2511. var sortableSeeds = document.getElementById('sortableSeeds');
  2512. new Sortable(sortableSeeds, {
  2513. animation: 150,
  2514. onChange: function() {
  2515. saveSeedOrder();
  2516. }
  2517. });
  2518. var sortableOres = document.getElementById('sortableOres');
  2519. new Sortable(sortableOres, {
  2520. animation: 150,
  2521. onChange: function() {
  2522. saveOreOrder();
  2523. }
  2524. });
  2525. var teleportCooldown = (teleportSpellUpgraded === 1) ? 300 : 900;
  2526. scriptWaitTeleport = (explorerCooldown > teleportCooldown + 10) ? true : false;
  2527. if (JSON.parse(localStorage.getItem('IANotification')) !== 1) {
  2528. alert('You need to config the Idle Again Script');
  2529. localStorage.setItem('IANotification',1);
  2530. }
  2531. addWikiButton();
  2532. document.getElementById('fight-button').querySelectorAll('td')[0].setAttribute('onclick', 'clicksFightButton();window.autoPoison();');
  2533. document.getElementById('fight-button').querySelectorAll('td')[1].setAttribute('onclick', 'clicksFightButton();window.autoPoison();');
  2534. };
  2535.  
  2536. scriptAddTabs();
  2537.  
  2538. function initLoginNotifications() {
  2539. var loginObserver = new MutationObserver(function(mutations) {
  2540. mutations.forEach(function(mutationRecord) {
  2541. if (document.getElementById("game-screen").style.display !== "none") {
  2542. console.log('logando');
  2543. navigate('exploreSelect');
  2544. navigate('main');
  2545. setTimeout(function(){onLogin()},10000);
  2546. }
  2547. });
  2548. });
  2549.  
  2550. var loginTarget = document.getElementById('game-screen');
  2551. loginObserver.observe(loginTarget, { attributes : true, attributeFilter : ['style'] });
  2552.  
  2553.  
  2554. var reloadObserver = new MutationObserver(function(mutations) {
  2555. mutations.forEach(function(mutationRecord) {
  2556. if (document.getElementById("dialogue-reconnecting").style.display !== "none") {
  2557. console.log('reloading');
  2558. setTimeout(function(){window.location.reload();},10000);
  2559. }
  2560. });
  2561. });
  2562.  
  2563. var reloadTarget = document.getElementById('dialogue-reconnecting');
  2564. reloadObserver.observe(reloadTarget, { attributes : true, attributeFilter : ['style'] });
  2565. }
  2566.  
  2567. initLoginNotifications();
  2568.  
  2569. function onLogin() {
  2570. console.log('log in');
  2571. loadUserVars();
  2572. scriptStyleTabs();
  2573. loadSeedOrder();
  2574. loadOreOrder();
  2575. loadPotions();
  2576. localStorage.setItem('lastLogin',username);
  2577. }
  2578.  
  2579. document.getElementById('saveInput').addEventListener('change', function () {
  2580. var fileInput = this;
  2581. if (fileInput.files.length > 0) {
  2582. var file = fileInput.files[0];
  2583. var reader = new FileReader();
  2584. reader.readAsText(file);
  2585.  
  2586. reader.onload = function (e) {
  2587. var importedData = e.target.result;
  2588.  
  2589. importedData = importedData.split(',,,');
  2590. scriptVars = JSON.parse(importedData[0]);
  2591. scriptStyleTabs();
  2592. localStorage.setItem(`idleAgain-${window.username}`, JSON.stringify(scriptVars));
  2593. localStorage.setItem(`idleAgain-oreOrder${window.username}`, importedData[1]);
  2594. loadOreOrder();
  2595. localStorage.setItem(`idleAgain-potionState${window.username}`, importedData[2]);
  2596. loadPotions();
  2597. localStorage.setItem(`idleAgain-seedOrder${window.username}`, importedData[3]);
  2598. loadSeedOrder();
  2599. };
  2600. }
  2601. });
  2602.  
  2603. function handleKeyDown2(event) {
  2604. if (event.keyCode === 13) {
  2605. window.sendChat();
  2606. }
  2607. }
  2608.  
  2609. window.handleKeyDown = handleKeyDown2;
  2610.  
  2611. function autoGameLoop() {
  2612. if (scriptVars.toggleGlobal === true) {
  2613. if (scriptVars.toggleTrain === true) autoTrain();
  2614. if (scriptVars.toggleRocket === true) autoRocket();
  2615. if (scriptVars.toggleSmelting === true) autoSmelt();
  2616. if (scriptVars.toggleRefinary === true) autoRefine();
  2617. if (scriptVars.toggleCharcoal === true) autoFoundry();
  2618. if (scriptVars.toggleWoodcutting === true) autoLumber();
  2619. if (scriptVars.toggleFertilize === true) autoFertilize();
  2620. if (scriptVars.toggleFarming === true) autoPlant();
  2621. if (scriptVars.toggleDrink === true) autoDrink();
  2622. if (scriptVars.toggleBrew === true) autoBrew();
  2623. if (scriptVars.toggleBM === true) autoBM();
  2624. if (scriptVars.toggleExplore === true) autoExplore();
  2625. if (scriptVars.toggleFight === true) autoFight();
  2626. if (scriptVars.toggleResetFight === true) autoReset();
  2627. if (scriptVars.toggleCousin === true) autoCousin();
  2628. if (scriptVars.toggleBoat === true) autoBoat();
  2629. if (scriptVars.toggleEvent === true) autoEvent();
  2630. }
  2631. }
  2632.  
  2633. function autoGameLoopSlow() {
  2634. if (scriptVars.toggleGlobal === true) {
  2635. if (scriptVars.toggleGeodeOpen === true) autoGeodeOpen();
  2636. if (scriptVars.toggleMineralIdentify === true) autoIdentify();
  2637. if (scriptVars.toggleNecklaceCharge === true) autoNecklaceCharge();
  2638. if (scriptVars.toggleBones === true) autoBones();
  2639. if (scriptVars.toggleTreeUpgrade === true) autoTreeUpgrade();
  2640. if (scriptVars.toggleBags === true) autoBags();
  2641. if (scriptVars.toggleFieldsBags === true) autoFieldsBags();
  2642. if (scriptVars.toggleStatue === true) autoStatue();
  2643. if (scriptVars.toggleArtifact === true) autoArtifact();
  2644. if (scriptVars.toggleMap === true) autoMap();
  2645. }
  2646. }
  2647.  
  2648. function autoGameLoopFast() {
  2649. if (scriptVars.toggleGlobal === true) {
  2650. if (scriptVars.toggleSpell === true) autoSpell();
  2651. if (scriptVars.toggleShiny === true || scriptVars.toggleMonsterFind === true) autoMonsterHunt();
  2652. if (scriptVars.toggleCombatPotion === true) autoCombatPot();
  2653. if (scriptVars.toggleCombatSwap === true) autoCombatSwap();
  2654. }
  2655. }
  2656.  
  2657. function autoGameLoopVeryFast() {
  2658. if (scriptVars.toggleGlobal === true) {
  2659. if (scriptVars.toggleHeal === true) autoHeal();
  2660. }
  2661. }
  2662.  
  2663. const gameLoopInterval = setInterval(function(){
  2664. autoGameLoop();
  2665. }, 5000);
  2666.  
  2667. const gameLoopSlowInterval = setInterval(function(){
  2668. autoGameLoopSlow();
  2669. }, 60000);
  2670.  
  2671. const gameLoopFastInterval = setInterval(function(){
  2672. autoGameLoopFast();
  2673. }, 750);
  2674.  
  2675. const gameLoopVeryFastInterval = setInterval(function(){
  2676. autoGameLoopVeryFast();
  2677. }, 250);
  2678.  
  2679. if (JSON.parse(localStorage.getItem('autoLogin')) == true) {
  2680. let lastUser = localStorage.getItem('lastLogin');
  2681. document.querySelector('#login-preset-'+lastUser+' tbody tr td:first-child').click();
  2682. }
  2683.  
  2684. Object.defineProperty(document, 'hidden', {
  2685. configurable: true,
  2686. get: function() {
  2687. return false;
  2688. }
  2689. });
  2690.  
  2691. })();