MooMoo.io Grey Rain UI

A script that changes some UI-related things

// ==UserScript==
// @name         MooMoo.io Grey Rain UI
// @version      2.0
// @description  A script that changes some UI-related things
// @author       QueenBee
// @license      MIT
// @match        https://moomoo.io/*
// @match        https://sandbox.moomoo.io/*
// @grant        none
// @run-at       document-end
// @namespace a
// ==/UserScript==

//---------------------------------------------------------------------------------------------------------
// v 1-1.3 added the basics (reload button)
// v 1.4 added changelog and a nice-looking border/rounded edges to the reload button
// v 1.5 merged another script of mine into this > leaderboard change / some other stuff
// v 1.5.1 bug fixes
// v 1.6 added mostly random things (chat removal, improved readability of the code)
// v 1.7 changed stuff in the shop, chat
// v 1.8 I forgot actually / leaderboard changes
// v 1.9 changed things related to: age bar, hotbar, age text
// v 1.10 made shop and alliance button visuals, game name change, kill display change
// v 1.11 made changes to the mapDisplay
// v 1.11.1 (nice) mostly code readability improved, minor bug fixes/name change of the script
// v 2.0 (final version) pingDisplay, main menu changes
//---------------------------------------------------------------------------------------------------------
(function () {
    'use strict';

    // Reload button
    function addReloadButton() {
        const reloadButton = document.createElement("button");
        reloadButton.innerText = "Reload?";
        reloadButton.style.position = "fixed";
        reloadButton.style.top = "425px";
        reloadButton.style.right = "24px";
        reloadButton.style.zIndex = "9999";
        reloadButton.style.color = "black";
        // reloadButton.tooltip = "you'll regret that"; // I might finish that later
        reloadButton.style.borderRadius = "8px";
        reloadButton.style.border = "2px solid black";
        reloadButton.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
        reloadButton.addEventListener("click", function () {
            location.reload();
        });
        document.body.appendChild(reloadButton);
    }

    addReloadButton();
    console.log("Reload button added.");

    //---------------------------------------------------------------------------------------------------------
    //Leaderboard
    const Leaderboard = document.getElementById("leaderboard");
    Leaderboard.style.position = "position";
    Leaderboard.style.border = "2px solid black";
    Leaderboard.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
    Leaderboard.style.color = "black";
    Leaderboard.style.fontSize = "35px";
    Leaderboard.style.borderRadius = "8px";

    //---------------------------------------------------------------------------------------------------------
    // Clan button
    document.getElementById("allianceHolder").style.border = "2px solid black";
    document.getElementById("allianceHolder").style.backgroundColor = "rgba(128, 128, 128, 0.7)";

    //---------------------------------------------------------------------------------------------------------
    // Removes the chat button that no one uses (enter still works, don't worry)
    const Chat = document.getElementById("chatButton");
    Chat.style.display = "none";

    //---------------------------------------------------------------------------------------------------------
    //Store button
    const storeHolderElement = document.getElementById("storeHolder");
    storeHolderElement.style.border = "2px solid black";
    storeHolderElement.style.display = "inline-block";
    storeHolderElement.style.backgroundColor = "rgba(128, 128, 128, 0.7)";

    //---------------------------------------------------------------------------------------------------------
    /* (Yes, I had to use chat GPT there to understand what
    div.storeTab means, everything else was my work,
    besides some other stuff I didn't understand) */
    var storeTabs = document.querySelectorAll('.storeTab');
    storeTabs.forEach(function (tab) {
        if (tab.textContent === "Hats") {
            tab.textContent = "Hair";
        } else if (tab.textContent === "Accessories") {
            tab.textContent = "Anal Plugs";
        }
    });

    //---------------------------------------------------------------------------------------------------------
    // Chat button
    var chatBox = document.getElementById("chatBox");
    if (chatBox) {
        chatBox.placeholder = "💬...";
        chatBox.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
        chatBox.style.border = "2px solid black";
    }

    //---------------------------------------------------------------------------------------------------------
    // Everything related to the age
    const ageBar = document.querySelector("#ageBar");
    ageBar.style.height = "7px";
    ageBar.style.position = "fixed";
    ageBar.style.bottom = "20px";
    ageBar.style.left = "50%";
    ageBar.style.transform = "translateX(-50%)";
    ageBar.style.border = "2px solid black";
    ageBar.style.backgroundColor = "rgba(128, 128, 128, 0.7)";

    var actionBar = document.querySelector("#actionBar");
    actionBar.style.display = "none";

    var ageText = document.querySelector("#ageText");
    ageText.style.position = "fixed";
    ageText.style.bottom = "38px";
    //---------------------------------------------------------------------------------------------------------

    // pingDisplay
    var pingDisplay = document.getElementById("pingDisplay");
    if (pingDisplay) {
    pingDisplay.style.color = "black";
    pingDisplay.style.border = "2px solid black";
    pingDisplay.style.textColor = "black";
    pingDisplay.style.borderRadius = "6px";
    pingDisplay.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
}
    //---------------------------------------------------------------------------------------------------------
    // Kill count, Alliance button, Shop button
    var killCounter = document.getElementById("killCounter");
    if (killCounter) {
        killCounter.style.border = "2px solid black";
        killCounter.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
    }
    var allianceButton = document.getElementById("allianceButton");
    allianceButton.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
    allianceButton.style.border = "2px solid black";

    var storeButton = document.getElementById("storeButton");
    storeButton.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
    storeButton.style.border = "2px solid black";

    //---------------------------------------------------------------------------------------------------------
    // Game name
    const gameName = document.getElementById("gameName");
    gameName.style.position = "relative";
    gameName.style.bottom = "30px";
    gameName.innerHTML = "Grey Rain UI";
    gameName.style.textDecoration = "underline";
    gameName.style.textUnderlineOffset = "0.1em";
    //---------------------------------------------------------------------------------------------------------
    // Game name
    const enterGame = document.getElementById("enterGame");
    enterGame.style.border = "2px solid black";

    enterGame.innerHTML = "好转";
    const promoImgHolder = document.getElementById("promoImgHolder");
    promoImgHolder.style.display = "none";
    const partyButton = document.getElementById("partyButton");
    partyButton.style.display = "none";
    const mainMenu = document.getElementById("mainMenu");
    mainMenu.style.backgroundColor = "rgba(0, 0, 0)";
    //---------------------------------------------------------------------------------------------------------
    // Gold, Food, Wood, Stone
    const foodDisplay = document.querySelector("#foodDisplay");
    foodDisplay.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
    foodDisplay.style.border = "2px solid black";

    const woodDisplay = document.querySelector("#woodDisplay");
    woodDisplay.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
    woodDisplay.style.border = "2px solid black";

    const stoneDisplay = document.querySelector("#stoneDisplay");
    stoneDisplay.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
    stoneDisplay.style.border = "2px solid black";

    const scoreDisplay = document.querySelector("#scoreDisplay");
    scoreDisplay.style.border = "2px solid black";
    scoreDisplay.style.backgroundColor = "rgba(128, 128, 128, 0.7)";

    //---------------------------------------------------------------------------------------------------------
    // Map
    const mapDisplay = document.querySelector("#mapDisplay");
    mapDisplay.style.backgroundColor = "rgba(128, 128, 128, 0.7)";
    mapDisplay.style.border = "2px solid black";
})();