// ==UserScript==
// @name Auto Clicker - pokeclicker.com
// @namespace Violentmonkey Scripts
// @match https://www.pokeclicker.com/
// @grant none
// @version 1.1
// @author Ivan Lay
// @description Clicks through battles appropriately depending on the game state.
// @downloadURL none
// ==/UserScript==
var autoClick = true;
var node = document.createElement('div');
node.classList.add('card');
node.classList.add('mb-3');
node.innerHTML = '
AutoClick
'
node.setAttribute('id', 'autoClickContainer');
document.getElementById('left-column').appendChild(node);
document.getElementById('toggleClick').addEventListener('click', ToggleAutoClick, false);
function ToggleAutoClick(){
autoClick = !autoClick;
var button = document.getElementById('toggleClick');
if (!autoClick) {
button.classList.remove('btn-success');
button.classList.add('btn-danger');
button.innerText = 'AutoClick Disabled';
} else {
button.classList.remove('btn-danger');
button.classList.add('btn-success');
button.innerText = 'AutoClick Enabled';
}
}
function autoClicker() {
var autoClickerLoop = setInterval(function () {
if (autoClick){
// Click while in a normal battle
if (App.game.gameState == GameConstants.GameState.fighting) {
Battle.clickAttack();
}
// Click while in a gym battle
if (App.game.gameState === GameConstants.GameState.gym) {
GymBattle.clickAttack();
}
// Click while in a dungeon - will also interact with non-battle tiles (e.g. chests)
if (App.game.gameState === GameConstants.GameState.dungeon) {
if (DungeonRunner.fighting() && !DungeonBattle.catching()) {
DungeonBattle.clickAttack();
} else if (
DungeonRunner.map.currentTile().type() ===
GameConstants.DungeonTile.chest
) {
DungeonRunner.openChest();
} else if (
DungeonRunner.map.currentTile().type() ===
GameConstants.DungeonTile.boss &&
!DungeonRunner.fightingBoss()
) {
DungeonRunner.startBossFight();
}
}
// Click while in Safari battles
if (Safari.inBattle()) {
BattleFrontierBattle.clickAttack();
}
}
}, 50); // The app hard-caps click attacks at 50
}
function waitForLoad(){
var timer = setInterval(function() {
if (!document.getElementById("game").classList.contains("loading")) {
// Check if the game window has loaded
clearInterval(timer);
autoClicker();
}
}, 200);
}
waitForLoad();