[GC | BETA] - Dailies Global Preferences Wizard

Global script that only runs relevant code on individual dailies pages. Run the "Set Variable" command in the menu to set up active pet redirects. Currently a known issue with having blank entries default to your identified main pet. If you leave a question blank, it just won't redirect your active pet for that daily.

目前為 2024-02-16 提交的版本,檢視 最新版本

// ==UserScript==
// @name        [GC | BETA] - Dailies Global Preferences Wizard
// @namespace		https://greasyfork.org/en/users/1225524-kaitlin
// @match       https://grundos.cafe/*
// @match       https://www.grundos.cafe/*
// @version     .2
// @author      Cupkait
// @icon        https://i.imgur.com/4Hm2e6z.png
// @require 		https://code.jquery.com/jquery-3.6.3.min.js
// @license     MIT
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_registerMenuCommand
// @grant        GM_addStyle
//
//
//
// @description Global script that only runs relevant code on individual dailies pages. Run the "Set Variable" command in the menu to set up active pet redirects. Currently a known issue with having blank entries default to your identified main pet. If you leave a question blank, it just won't redirect your active pet for that daily.
// Upcoming feature(s):
// On-screen menu for setting/resetting variables.
// Setting your Wishing Well preferences.
//
//
// 			If I've missed a daily, I either don't have it or forgot about it - PLEASE tell me so I can add it in :D
//
//
// ==/UserScript==
   $(document).ready(function() {

    function setVariableValue(variableName, promptMessage) {
        var currentValue = GM_getValue(variableName, '');

        if (!currentValue) {
            var userInput = prompt(promptMessage + '\n\nPet name is CASE SENSITIVE. Use proper capitalization.\nIf you have no preference, set it to match your main pet.');
            if (userInput !== '') {
                GM_setValue(variableName, userInput || mainPet);
            }
				}};
    function checkAndSetVariables() {
        setVariableValue('mainPet', 'What pet do you want to be active by default?\n\nNOTE: Do not leave this one blank, it is the only required value.');
        setVariableValue('turmyPetpet', 'Turmaculus can eat petpets. Which pet has a petpet he can safely eat?\n\nNote: If you can beat him in the BD you can get your petpet back, you will just lose any petpet levels and other progress when reattaching.');
        setVariableValue('questPet', 'Faerie and Kitchen quests give random stat increases. What pet do you want to receive these?');
        setVariableValue('labPet', 'The lab ray can randomly change species, color, and stats. What pet do you want to use as a lab rat?');
        setVariableValue('scratchcardPet', 'Scratchcards have the possibility of increasing levels. What pet do you want to receive these?');
        setVariableValue('labPetpet', 'What pet has the petpet that you want to zap?');
        setVariableValue('jellyPet', 'When visiting the Green Jelly your pet may turn Jelly. Which pet would you prefer this happen to?');
        setVariableValue('spookyPetpet', 'Which pet has a Spooky petpet (so they can visit the toilet)?');
        setVariableValue('wheelPet', 'Wheels can give random stat increases, decreases, and illnesses. What pet do you want these to affect?');
        setVariableValue('employedPet', 'Some people want all job stats to stay on the same pet. If you care, which pet should they go to?');
        setVariableValue('firstCoord', 'Set your first Buried Treasure coordinate. Pick a number 1-473.');
        setVariableValue('secondCoord', 'Set your second Buried Treasure coordinate. Pick a number 1-473.');
    };
    checkAndSetVariables();
    GM_registerMenuCommand('Set Variables', function() {
        checkAndSetVariables();
    });


    function updateLink(originalPath, updatedPath) {
        const linkElement = $(`#aio_sidebar a[href="${originalPath}"]`);
        if (linkElement.length > 0) {
            linkElement.attr('href', updatedPath);
        }
    };

    var mainPet = GM_getValue('mainPet', '');
    var turmyPetpet = GM_getValue('turmyPetpet', '');
    var questPet = GM_getValue('questPet', '');
    var labPet = GM_getValue('labPet', '');
    var scratchcardPet = GM_getValue('scratchcardPet', '');
    var labPetpet = GM_getValue('labPetpet', '');
    var jellyPet = GM_getValue('jellyPet', '');
    var spookyPetpet = GM_getValue('spookyPetpet', '');
    var wheelPet = GM_getValue('wheelPet', '');
    var employedPet = GM_getValue('employedPet', '');
    var firstCoord = GM_getValue('firstCoord', '');
    var secondCoord = GM_getValue('secondCoord', '');

    updateLink('/games/stockmarket/stocks/', '/games/stockmarket/stocks/?view_all=True');
    updateLink('/pirates/buriedtreasure/', `/pirates/buriedtreasure/play/?${firstCoord},${secondCoord}`);
    updateLink('/medieval/symolhole/', `/setactivepet/?pet_name=Dobbie&redirect=/medieval/symolhole/`);
    updateLink('/medieval/turmaculus/', `/setactivepet/?pet_name=${turmyPetpet}&redirect=/medieval/turmaculus/`);
    updateLink('/faerieland/springs/', `/setactivepet/?pet_name=${questPet}&redirect=/faerieland/springs/`);
    updateLink('/island/kitchen/',`/setactivepet/?pet_name=${questPet}&redirect=/island/kitchen/`);
    updateLink('/faerieland/quests/',`/setactivepet/?pet_name=${questPet}&redirect=/faerieland/quests/`);
    updateLink('/desert/shrine/',`/setactivepet/?pet_name=${questPet}&redirect=/desert/shrine/`);
    updateLink('/halloween/toilet/',`/setactivepet/?pet_name=${spookyPetpet}&redirect=/halloween/toilet/`);
    updateLink('/winter/kiosk/',`/setactivepet/?pet_name=${scratchcardPet}&redirect=/winter/kiosk/`);
    updateLink('/halloween/kiosk/',`/setactivepet/?pet_name=${scratchcardPet}&redirect=/halloween/kiosk/`);
    updateLink('/desert/kiosk/',`/setactivepet/?pet_name=${scratchcardPet}&redirect=/desert/kiosk/`);
    updateLink('/medieval/brightvale/wheel/',`/setactivepet/?pet_name=${wheelPet}&redirect=/medieval/brightvale/wheel/`);
    updateLink('/faerieland/wheel/',`/setactivepet/?pet_name=${wheelPet}&redirect=/faerieland/wheel/`);
    updateLink('/prehistoric/wheel/',`/setactivepet/?pet_name=${wheelPet}&redirect=/prehistoric/wheel/`);
    updateLink('/halloween/wheel/',`/setactivepet/?pet_name=${wheelPet}&redirect=/halloween/wheel/`);
    updateLink('/jelly/greenjelly/',`/setactivepet/?pet_name=${jellyPet}&redirect=/jelly/greenjelly/`);
    updateLink('/winter/snowager/', `/setactivepet/?pet_name=${mainPet}&redirect=/winter/snowager/approach/`);
    updateLink('/jelly/jelly/','/jelly/take_jelly/');
    updateLink('/prehistoric/plateau/omelette/',`/prehistoric/plateau/omelette/approach/`);
    updateLink('/desert/fruitmachine/', `/desert/fruitmachine2/`);
    updateLink('/faerieland/tdmbgpop/', `/faerieland/tdmbgpop/visit/`);
    updateLink('/island/tombola/', `/island/tombola/play`);
    updateLink('/neoschool/courses/', `/neoschool/course/`);
    //updateLink('', '');
    //updateLink('', '');
    // Placeholder template to add other link updates...



// WHEELS -- Enter to spin, prize displayed automatically.
if (window.location.href.endsWith('/halloween/wheel/') ||
    window.location.href.endsWith('/prehistoric/wheel/') ||
    window.location.href.endsWith('/faerieland/wheel/')) {

        const submitButton = $('input[type="submit"][name="spin"]');

        if (submitButton.length > 0) {
            submitButton.val('Press Enter or click here to spin!');
            $(document).on('keydown', function(event) {
                if (event.key === 'Enter') {
                    submitButton.click();
                }
            });
        } else {
            $('#spinning').hide();
            $('#prize-container').show();
        }
    };

// KNOWLEDGE WHEEL - Enter to spin, prize displayed automatically.
if (window.location.href.endsWith('/medieval/brightvale/wheel/')) {
        const submitButton = $('input[type="submit"].form-control.half-width');

        if (submitButton.length > 0) {
            submitButton.val('Press Enter or click here to spin!');
            $(document).on('keydown', function(event) {
                if (event.key === 'Enter') {
                    submitButton.click();
                }
            });
        } else {
            $('#spinning').hide();
            $('#prize-container').show();
        }
    };

// SYMOL HOLE - Method is randomized. Press enter to enter the hole, slow-mode for results is disabled.
if (window.location.href.endsWith('/medieval/symolhole/')) {
    const hole = $('#waiting');

    if (!hole.length) {
        const options = $('#enter_action option:not([disabled])');
        const randomIndex = Math.floor(Math.random() * options.length);
        options.eq(randomIndex).prop('selected', true);
        const submitButton = $('input[type="submit"][name="enter"]');
        if (submitButton.length) {
            submitButton.val('Press Enter or click here to enter!');
            $(document).on('keydown', function(event) {
                if (event.key === 'Enter') {
                    submitButton.click();
                }
            });
        }
    } else if (hole !== undefined) {
        hole.hide();
        $('#wait-for-me').show();
    }
};

// HEALING SPRINGS -- Press enter to heal.
if (window.location.href.endsWith('/faerieland/springs/')) {
    const submitButton = $('input[type="submit"].form-control.half-width');

    if (submitButton.length > 0) {
        submitButton.val('Press Enter or click here to heal!');
        $(document).on('keydown', function(event) {
            if (event.key === 'Enter') {
                submitButton.click();
            }
        });
    }
};

// FISHING - Press enter to fish. If you unlocked free bulk fishing, this will be prioritized.
if (window.location.href.endsWith('/water/fishing/')) {
    let getCost = $('main p:eq(2)').text();
    if (getCost === "You can also choose to send all of your eligible pets fishing at the same time for FREE!!") {
        const submitButton = $('input[type="submit"][value="Fish with Everyone!"]');
        if (submitButton.length) {
            $(document).on('keydown', function(event) {
                if (event.key === 'Enter') {
                    submitButton.click();
                }
            });
        }
    } else {
        const submitButton = $('input[type="submit"][value="Reel in Your Line"]');
        if (submitButton.length) {
            $(document).on('keydown', function(event) {
                if (event.key === 'Enter') {
                    submitButton.click();
                }
            });
        }
    }
};

// GREEN JELLY - Enter to approach.
if (window.location.href.endsWith('/jelly/greenjelly/')) {
    const submitButton = $('input[type="submit"].form-control.half-width');

    if (submitButton.length > 0) {
        submitButton.val('Press Enter or click here to visit!');
        $(document).on('keydown', function(event) {
            if (event.key === 'Enter') {
                submitButton.click();
            }
        });
    }
};

// GRUMPY OLD KING - Enter to submit, known avatar elements applied
if (window.location.href.endsWith('/medieval/grumpyoldking/')) {
        generateJoke();
        $('#question1').val('What');
        $('#question2').val('do');
        $('#question3').val('you do if');
        $('#question4').val('*Leave blank*');
        $('#question5').val('fierce');
        $('#question6').val('Grundos');
        $('#question7').val('*Leave blank*');
        $('#question8').val('has eaten too much');
        $('#question9').val('*Leave blank*');
        $('#question10').val('tin of olives');

		const submitButton = $('input[type="submit"][name="joke"]');
    const againButton = $('input[type="button"][value="Try Again?"]');

    if (submitButton.length > 0) {
        submitButton.val('Press Enter or click here to joke!');
        $(document).keydown(function(event) {
            if (event.key === 'Enter') {
                submitButton.click();
            }
        });
    } else if (againButton.length > 0) {
        againButton.val('Press Enter or click to tell another!');
        $(document).keydown(function(event) {
            if (event.key === 'Enter') {
                againButton.click();
            }
        });
    } else {
        console.log("You already told two jokes.");
    }};

// WISE OLD KING - Enter to submit, inserts known required avatar variables & randomly generates the remaining values.
if (window.location.href.endsWith('/medieval/wiseking/')) {
        generateJoke();
        $('#wisdom2').val('pride');

    const submitButton = $('input[type="submit"][name="impress"]');
    if (submitButton.length > 0) {
        submitButton.val('Press Enter or click here to impress!');
        $(document).on('keydown', function(event) {
            if (event.key === 'Enter') {
                submitButton.click();
            }
        });
    }
};

// COLTZANS SHRINE - Enter to visit.
if (window.location.href.endsWith('/desert/shrine/')) {
    const submitButton = $('.center').find('input[type="submit"].form-control');
    if (submitButton.length === 2) {
        submitButton.first().val('Press Enter or click here to visit!');
        $(document).on('keydown', function(event) {
            if (event.key === 'Enter') {
                submitButton.first().click();
            }
        });
    }
};


// LOTTERY - Enter to use Quick Pick.
if (window.location.href.endsWith('/games/lottery/')) {
    const submitButton = $('input[type="submit"].form-control.half-width');

    if (submitButton.length > 0) {
        submitButton.val('Press Enter or click here to buy 20!');
        $(document).on('keydown', function(event) {
            if (event.key === 'Enter') {
                submitButton.click();
            }
        });
    }
};

// TURMACULUS - Enter to try and wake.
if (window.location.href.endsWith('/medieval/turmaculus/')) {
    const options = $('#wakeup option:not([disabled])');
    const randomIndex = Math.floor(Math.random() * options.length);
    options.eq(randomIndex).prop('selected', true);

    const submitButton = $('input[type="submit"][name="wake"]');
    if (submitButton.length > 0) {
        submitButton.val('Press Enter or click here to enter!');
        $(document).on('keydown', function(event) {
            if (event.key === 'Enter') {
                submitButton.click();
            }
        });
    }
};

// NEOSCHOOL - If you're on a course, go straight to it. If you aren't, go to the course menu.
if (window.location.href.endsWith('/neoschool/course/')) {
    const error = $('.errorpage');
    if (error.length > 0) {
        window.location.replace("/neoschool/courses/");
    }
}

});