DEPRECATED - Added to SlapChop plugin
// ==UserScript==
// @name IdlePixel Quick Fight Buttons
// @namespace com.anwinity.idlepixel
// @version 1.3.0
// @description DEPRECATED - Added to SlapChop plugin
// @author Anwinity
// @license MIT
// @match *://idle-pixel.com/login/play*
// @grant none
// @require https://greasyfork.org/scripts/441206-idlepixel/code/IdlePixel+.js?anticache=20220905
// ==/UserScript==
(function() {
'use strict';
class QuickFightButtonsPlugin extends IdlePixelPlusPlugin {
constructor() {
super("quickfight", {
about: {
name: GM_info.script.name,
version: GM_info.script.version,
author: GM_info.script.author,
description: GM_info.script.description
},
config: [
{
id: "confirm",
label: "Show Confirm",
type: "boolean",
default: false
}
]
});
}
quickFight(zoneId) {
const confirm = this.getConfig("confirm");
if(confirm) {
if(window.confirm(`FIGHT: ${zoneId} ?`)) {
Combat.modal_area_last_selected = zoneId;
IdlePixelPlus.sendMessage(`START_FIGHT=${zoneId}`);
}
}
else {
Combat.modal_area_last_selected = zoneId;
IdlePixelPlus.sendMessage(`START_FIGHT=${zoneId}`);
}
}
refreshButtonStates() {
const fp = IdlePixelPlus.getVarOrDefault("fight_points", 0, "int");
const energy = IdlePixelPlus.getVarOrDefault("energy", 0, "int");
Object.values(IdlePixelPlus.info.combatZones).forEach(zone => {
let disabled = fp < zone.fightPointCost || energy < zone.energyCost;
if(zone.id == "volcano" && IdlePixelPlus.getVar("volcano_unlocked")!="1") {
disabled = true;
}
else if(zone.id == "northern_field" && IdlePixelPlus.getVar("northern_field_unlocked")!="1") {
disabled = true;
}
$(`button#quickfight-${zone.id}`).prop("disabled", disabled);
});
}
onVariableSet(key, valueBefore, valueAfter) {
// fp increments every tick, so don't bother refreshing when energy changes
if(["fight_points", "energy", "volcano_unlocked", "northern_field_unlocked"].includes(key)) {
this.refreshButtonStates();
}
}
onLogin() {
let html = '<h5>Quick Fight:</h5><div style="display: flex; flex-direction: row">';
Object.values(IdlePixelPlus.info.combatZones).forEach(zone => {
html += `<button id="quickfight-${zone.id}" class="m-1" type="button" onclick="IdlePixelPlus.plugins.quickfight.quickFight('${zone.id}')">${zone.id}</button>`;
});
html += `</div><span style="color: red"><strong>Quick Fight DEPRECATED:</strong> Use <a href="https://greasyfork.org/en/scripts/448025-idlepixel-slap-chop" target="_blank">SlapChop Plugin</a> instead.</span><hr>`;
$("#panel-combat hr").first().after(html);
this.refreshButtonStates();
}
}
const plugin = new QuickFightButtonsPlugin();
IdlePixelPlus.registerPlugin(plugin);
})();