Egg Cave Arrow Number Navigator

yippee no more carpal tunnel

// ==UserScript==
// @name         Egg Cave Arrow Number Navigator
// @namespace    http://tampermonkey.net/
// @version      2024-10-30
// @description  yippee no more carpal tunnel
// @author       Lakinom
// @match        https://dragcave.net/locations/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=dragcave.net
// @grant        none
// @license      GPL-3.0-or-later
// ==/UserScript==


(function() {
    'use strict';
    let is_not_event = (document.querySelector("a[href='/locations/7-event']") === null);
    //console.log(is_not_event);
    let habitats = ["5-alpine", "1-coast", "2-desert", "3-forest", "4-jungle", "6-volcano", "7-event"];
    let hab_last = 6;
    if(is_not_event) hab_last--;
    let cur_url = window.location.href;
    let cur_hab = cur_url.slice(31); //remove https://dragcave.net/locations/ so we can compare to habitats array
    let hab_i = habitats.findIndex(hab => hab === cur_hab);
    //console.log(hab_i);

    const controller = new AbortController();

    window.addEventListener(
        "keydown",
        (event) => {
            if (event.defaultPrevented) {
                return; // Do nothing if the event was already processed
            }

            switch (event.key) {
                case "1":
                    window.location.href = "https://dragcave.net/locations/5-alpine";
                    break;
                case "2":
                    window.location.href = "https://dragcave.net/locations/1-coast";
                    break;
                case "3":
                    window.location.href = "https://dragcave.net/locations/2-desert";
                    break;
                case "4":
                    window.location.href = "https://dragcave.net/locations/3-forest";
                    break;
                case "5":
                    window.location.href = "https://dragcave.net/locations/4-jungle";
                    break;
                case "6":
                    window.location.href = "https://dragcave.net/locations/6-volcano";
                    break;
                case "7":
                    if (!is_not_event) window.location.href = "https://dragcave.net/locations/7-event";
                    break;
                case "ArrowLeft":
                    if(hab_i>0)
                    {
                        controller.abort();
                        window.location.href = "https://dragcave.net/locations/"+habitats[hab_i-1];
                    }
                    break;
                case "ArrowRight":
                    if(hab_i<hab_last)
                    {
                        controller.abort();
                        window.location.href = "https://dragcave.net/locations/"+habitats[hab_i+1];
                    }
                    break;
                default:
                    return; // Quit when this doesn't handle the key event.
            }

            // Cancel the default action to avoid it being handled twice
            event.preventDefault();
        },
        true,
    );


})();

QingJ © 2025

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