Melvor Idle - Queue End Fight

Adds a button to the combat interface to leave combat after defeating the current enemy or dungeon.

目前為 2022-04-30 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Melvor Idle - Queue End Fight
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Adds a button to the combat interface to leave combat after defeating the current enemy or dungeon.
// @author       Seil#1780
// @license      MIT
// @match        https://*.melvoridle.com/*
// @exclude		 https://wiki.melvoridle.com/*
// @exclude		 https://*.wiki.melvoridle.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=melvoridle.com
// @grant        none
// ==/UserScript==

function script() {
    var runQueued = false;
    var _oldFunction = combatManager.onEnemyDeath;

    let queueRunButton = '<button type="button" id="queueRunButton" class="btn btn-sm btn-warning m-1 w-100">Queue Leave Encounter</button>';

    let combatButtons = document.querySelector("#combat-enemy-options").parentNode;
    let runButton = document.querySelector("#combat-enemy-options");

    combatButtons.children[0].className = "col-4";
    combatButtons.children[1].className = "col-4";
    combatButtons.children[1].insertAdjacentHTML("afterend", '<div class="col-4"></div>');
    combatButtons.children[2].innerHTML += queueRunButton

    document.getElementById("queueRunButton").addEventListener("click", toggleQueue);

    function toggleQueue() {
        if(runQueued) {
            document.getElementById("queueRunButton").className = "btn btn-sm btn-warning m-1 w-100";
            runQueued = false;
        } else {
            document.getElementById("queueRunButton").className = "btn btn-sm btn-danger m-1 w-100";
            runQueued = true;
        }
    }

    combatManager.onEnemyDeath = function onEnemyDeath() {
        var encounterCompleted = false;
        var dungeonCompleted = this.dungeonProgress+1==this.areaData.monsters.length;

        _oldFunction.apply(this);
        if(runQueued) {
            if(this.areaData.type==="Dungeon"&&!dungeonCompleted) {
                encounterCompleted = false;
            } else {
                encounterCompleted = true;
                this.stopCombat();
                toggleQueue();
            }
        }

        return encounterCompleted;
    }
}




(() => {
    function loadScript() {
        if (typeof confirmedLoaded !== typeof undefined && confirmedLoaded) {
            clearInterval(scriptLoader);

            const scriptElem = document.createElement("script");
            scriptElem.textContent = `try {(${script})();} catch (e) {console.log(e);}`;
            document.body.appendChild(scriptElem).parentNode.removeChild(scriptElem);
        }
    }
    const scriptLoader = setInterval(loadScript, 200);
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址