// ==UserScript== // @name 宝可梦点击(Poke Clicker)辅助脚本 自动矿场模块 // @namespace PokeClickerHelper // @version 0.1.3 // @description 自动矿场功能:可自动挖掘、售卖、买药、用药! // @author 苍猫 // @match https://www.pokeclicker.com // @match https://g8hh.github.io/pokeclicker/ // @match https://pokeclicker.g8hh.com // @match https://yx.g8hh.com/pokeclicker/ // @match https://dreamnya.github.io/pokeclicker/ // @icon data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/319hf99fYX/fX2F/319hf8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////99fYX/fX2F/319hf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////wAAAP8AAAD/fX2F/319hf99fYX/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAD/AAAA/wAAAP99fYX/fX2F/wAAAP8AAAD/AAAA/319hf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/HBT//xwU//8AAAD//////319hf8AAAD/Dgim/w4Ipv8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAD/HBT//xwU//8cFP//HBT//wAAAP8AAAD/Dgim/w4Ipv8OCKb/Dgim/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA/xwU//8cFP//HBT//xwU/44cFP//HBT//xwU//8cFP//Dgim/w4Ipv8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/HBT//xwU/47/////HBT/jhwU//8cFP//HBT//w4Ipv8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/xwU//8cFP//HBT/jhwU//8OCKb/Dgim/w4Ipv8OCKb/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/xwU//8OCKb/Dgim/w4Ipv8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAPw/AADwDwAA4AcAAOAHAADAAwAAwAMAAMADAADAAwAA4AcAAOAHAADwDwAA/D8AAP//AAD//wAA//8AAA== // @grant none // @license MIT // @run-at document-end // ==/UserScript== /* eslint dot-notation:0 */ /* global App, $, PokeClickerHelper, Underground, GameConstants, player, ItemList, Mine */ if (typeof PokeClickerHelper == typeof void 0) { alert('宝可梦点击(Poke Clicker)辅助脚本 自动矿场模块加载失败\n\n未找到核心模块,需要先安装核心模块才可正常使用\n\n论坛主页:https://bbs.tampermonkey.net.cn/forum.php?mod=viewthread&tid=3842') window.open("https://bbs.tampermonkey.net.cn/forum.php?mod=viewthread&tid=3842") return } // UI相关 PokeClickerHelper.UIDOM.push(`
`) let fuc = () => { const text = `` // 未解锁挖矿的情况下会导致异常 加IF判断 if ($('#treasures th').length > 0) $('#treasures th')[3].style.width = "35%" $('#treasures th:eq(3)').append(text) // 创建写入 自动购买/使用 初级体力药剂 按钮 const text_2 = `
初级体力药剂单价:
` $("#dig .row.no-gutters").eq(2).prepend(text_2); // 初始化加载功能状态 AutoUnderground.CheckAutoUnderground(); } const listener = () => { $('#PokeClickerHelperToggleAutoDig').on('click', function () { AutoUnderground.LoadOver ? PokeClickerHelper.set('ToggleAutoDig', AutoUnderground.AutoDigStatus = !AutoUnderground.AutoDigStatus) : AutoUnderground.LoadOver = true; $('#PokeClickerHelperToggleAutoDig').text($('#PokeClickerHelperToggleAutoDig').text().replace(AutoUnderground.AutoDigStatus ? 'OFF' : 'ON', AutoUnderground.AutoDigStatus ? 'ON' : 'OFF')) AutoUnderground.AutoDigStatus ? PokeClickerHelper.hookGameTickList.add(AutoUnderground.AutoDig) : PokeClickerHelper.hookGameTickList.delete(AutoUnderground.AutoDig); }) $('#PokeClickerHelperAutoSellPlate').on('click', function () { PokeClickerHelper.set('AutoSellPlate', AutoUnderground.AutoSellPlateStatus = !AutoUnderground.AutoSellPlateStatus) $('#PokeClickerHelperAutoSellPlate').text($('#PokeClickerHelperAutoSellPlate').text().replace(AutoUnderground.AutoSellPlateStatus ? 'OFF' : 'ON', AutoUnderground.AutoSellPlateStatus ? 'ON' : 'OFF')) AutoUnderground.AutoSellPlateStatus ? this.classList.replace('btn-danger', 'btn-success') : this.classList.replace('btn-success', 'btn-danger'); AutoUnderground.AutoSellPlateStatus ? PokeClickerHelper.hookGameTickList.add(AutoUnderground.AutoSellPlate) : PokeClickerHelper.hookGameTickList.delete(AutoUnderground.AutoSellPlate) }) $('#PokeClickerHelperAutoSellDiamond').on('click', function () { PokeClickerHelper.set('AutoSellDiamond', AutoUnderground.AutoSellDiamondStatus = !AutoUnderground.AutoSellDiamondStatus) $('#PokeClickerHelperAutoSellDiamond').text($('#PokeClickerHelperAutoSellDiamond').text().replace(AutoUnderground.AutoSellDiamondStatus ? 'OFF' : 'ON', AutoUnderground.AutoSellDiamondStatus ? 'ON' : 'OFF')) AutoUnderground.AutoSellDiamondStatus ? this.classList.replace('btn-danger', 'btn-success') : this.classList.replace('btn-success', 'btn-danger'); AutoUnderground.AutoSellDiamondStatus ? PokeClickerHelper.hookGameTickList.add(AutoUnderground.AutoSellDiamond) : PokeClickerHelper.hookGameTickList.delete(AutoUnderground.AutoSellDiamond) }) $('#PokeClickerHelperAutoSmallRestore').on('click', function () { PokeClickerHelper.set('AutoSmallRestore', AutoUnderground.AutoSmallRestoreStatus = !AutoUnderground.AutoSmallRestoreStatus) $('#PokeClickerHelperAutoSmallRestore').text($('#PokeClickerHelperAutoSmallRestore').text().replace(AutoUnderground.AutoSmallRestoreStatus ? 'OFF' : 'ON', AutoUnderground.AutoSmallRestoreStatus ? 'ON' : 'OFF')) AutoUnderground.AutoSmallRestoreStatus ? this.classList.replace('btn-danger', 'btn-success') : this.classList.replace('btn-success', 'btn-danger'); AutoUnderground.AutoSmallRestoreStatus ? PokeClickerHelper.hookGameTickList.add(AutoUnderground.AutoSmallRestore) : PokeClickerHelper.hookGameTickList.delete(AutoUnderground.AutoSmallRestore) }) $('#PokeClickerHelperSmallRestore').on('change', event => { AutoUnderground.BuySmallRestorePrice = +event.target.value.replace(/[A-Za-z!@#$%^&*()]/g, '').replace(/[,]/g, ""); PokeClickerHelper.set('BuySmallRestorePrice', AutoUnderground.BuySmallRestorePrice) event.target.value = AutoUnderground.BuySmallRestorePrice.toLocaleString('en-US'); }); } PokeClickerHelper.UIContainerID.push("#PokeClickerHelperAutoSellPlate"); PokeClickerHelper.UIContainerID.push("#PokeClickerHelperAutoSellDiamond"); PokeClickerHelper.UIContainerID.push("#PokeClickerHelperAutoSmallRestore"); PokeClickerHelper.UIContainerID.push("#PokeClickerHelperSmallRestore"); PokeClickerHelper.UICustomFuc.push(fuc); PokeClickerHelper.UIlistener.push(listener); // 暴露对象方法到全局 const AutoUnderground = {}; PokeClickerHelper.AutoUnderground = AutoUnderground; AutoUnderground.LoadOver = false; //判断是否加载完成 // 自动挖掘 变量初始化 AutoUnderground.AutoDigStatus PokeClickerHelper.get('ToggleAutoDig', '') === '' ? PokeClickerHelper.set('ToggleAutoDig', AutoUnderground.AutoDigStatus = false) : AutoUnderground.AutoDigStatus = JSON.parse(PokeClickerHelper.get('ToggleAutoDig', 'false')); // 买用药剂 变量初始化 AutoUnderground.AutoSmallRestoreStatus PokeClickerHelper.get('AutoSmallRestore', '') === '' ? PokeClickerHelper.set('AutoSmallRestore', AutoUnderground.AutoSmallRestoreStatus = false) : AutoUnderground.AutoSmallRestoreStatus = JSON.parse(PokeClickerHelper.get('AutoSmallRestore', 'false')); // 药剂单价 变量初始化 AutoUnderground.BuySmallRestorePrice PokeClickerHelper.get('BuySmallRestorePrice', '') === '' ? PokeClickerHelper.set('BuySmallRestorePrice', AutoUnderground.BuySmallRestorePrice = 0) : AutoUnderground.BuySmallRestorePrice = JSON.parse(PokeClickerHelper.get('BuySmallRestorePrice', '0')); // 自动售板 变量初始化 AutoUnderground.AutoSellPlateStatus PokeClickerHelper.get('AutoSellPlate', '') === '' ? PokeClickerHelper.set('AutoSellPlate', AutoUnderground.AutoSellPlateStatus = false) : AutoUnderground.AutoSellPlateStatus = JSON.parse(PokeClickerHelper.get('AutoSellPlate', 'false')); // 自动售宝 变量初始化 AutoUnderground.AutoSellDiamondStatus PokeClickerHelper.get('AutoSellDiamond', '') === '' ? PokeClickerHelper.set('AutoSellDiamond', AutoUnderground.AutoSellDiamondStatus = false) : AutoUnderground.AutoSellDiamondStatus = JSON.parse(PokeClickerHelper.get('AutoSellDiamond', 'false')); // 检测功能状态 AutoUnderground.CheckAutoUnderground = () => { if (AutoUnderground.AutoSmallRestoreStatus) { $('#PokeClickerHelperAutoSmallRestore').text($('#PokeClickerHelperAutoSmallRestore').text().replace('OFF', 'ON')); $('#PokeClickerHelperAutoSmallRestore')[0].classList.replace('btn-danger', 'btn-success'); PokeClickerHelper.hookGameTickList.add(AutoUnderground.AutoSmallRestore); } if (AutoUnderground.AutoSellPlateStatus) { $('#PokeClickerHelperAutoSellPlate').text($('#PokeClickerHelperAutoSellPlate').text().replace('OFF', 'ON')); $('#PokeClickerHelperAutoSellPlate')[0].classList.replace('btn-danger', 'btn-success'); PokeClickerHelper.hookGameTickList.add(AutoUnderground.AutoSellPlate); } if (AutoUnderground.AutoSellDiamondStatus) { $('#PokeClickerHelperAutoSellDiamond').text($('#PokeClickerHelperAutoSellDiamond').text().replace('OFF', 'ON')); $('#PokeClickerHelperAutoSellDiamond')[0].classList.replace('btn-danger', 'btn-success'); PokeClickerHelper.hookGameTickList.add(AutoUnderground.AutoSellDiamond); } $('#PokeClickerHelperSmallRestore').prop('value',AutoUnderground.BuySmallRestorePrice.toLocaleString('en-US')); } // 自动挖矿 AutoUnderground.AutoDig = () => { const rewardDigArr = []; // 遍历所有的矿物 for (let i = 0; i < Mine.rewardGrid.length; i++) { const row = Mine.rewardGrid[i]; for (let j = 0; j < row.length; j++) { const reward = row[j]; if (reward && reward.revealed != 1) rewardDigArr.push({ x: i, y: j }); } } // 挖掘部分代码 if (rewardDigArr.length > 0) { let noEnergy = false; for (let i = 0; i < rewardDigArr.length; i++) { const rewardDig = rewardDigArr[i]; const reward = Mine.rewardGrid[rewardDig.x][rewardDig.y]; while (reward.revealed != 1) { if (App.game.underground.energy >= Underground.CHISEL_ENERGY) { Mine.chisel(rewardDig.x, rewardDig.y); } else { noEnergy = true; break; } } if (noEnergy) break; } } } // 自动售板 AutoUnderground.AutoSellPlate = () => { player.mineInventory().forEach(item => { if (item.valueType === 1 && !item.sellLocked() && item.amount() > 0) Underground.sellMineItem(item.id, item.amount()) }) } // 自动售宝 AutoUnderground.AutoSellDiamond = () => { player.mineInventory().forEach(item => { if (item.valueType === 0 && !item.sellLocked() && item.amount() > 0) Underground.sellMineItem(item.id, item.amount()) }) } // 自动 买/用 初级体力药剂 AutoUnderground.AutoSmallRestore = () => { // 购买药剂 Version 0.1.1 新增判断 未开启自动挖掘的功能情况即使开启购买药剂也不会购买 let Buyprice = Math.round(ItemList["SmallRestore"].basePrice * (player.itemMultipliers["SmallRestore"] || 1)); if (AutoUnderground.BuySmallRestorePrice > Buyprice && AutoUnderground.AutoDigStatus && player.itemList["SmallRestore"]() === 0) ItemList["SmallRestore"].buy(1); // 使用药剂 if (App.game.underground.energy < Underground.CHISEL_ENERGY) { //当前体力<使用的挖矿工具需要的体力时候 if (player.itemList["SmallRestore"]() > 0) { ItemList["SmallRestore"].use(); } else if (player.itemList["MediumRestore"]() > 0) { ItemList["MediumRestore"].use(); } else if (player.itemList["LargeRestore"]() > 0) { ItemList["LargeRestore"].use(); } } }