您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Changes a large portion of the text and UI to 'Elite' blue and makes small changes to the UI.
// ==UserScript== // @name Pendorian Elite UI // @namespace http://pendoria.net/ // @version 3.1 // @author Puls3 // @include /^https?:\/\/(?:.+\.)?pendoria\.net\/?(?:.+)?$/ // @homepage https://xpuls3.github.io/Pendorian-Elite-UI // @supportURL https://github.com/xPuls3/Pendorian-Elite-UI/issues // @icon https://raw.githubusercontent.com/xPuls3/Pendorian-Elite-UI/master/favicon.ico // @grant none // @run-at document-start // @description Changes a large portion of the text and UI to 'Elite' blue and makes small changes to the UI. // ==/UserScript== // Pendorian Elite UI is only officially distributed on GitHub! // - https://github.com/xPuls3/Pendorian-Elite-UI/ // Pendorian Elite UI also has an official website! // - https://xpuls3.github.io/Pendorian-Elite-UI/ // This script was created by Puls3! // - Puls3 on Pendoria const version = "3.1"; window.eliteUI = version; let modules = register(); define(); // [Options] // Toggle Script Debugging const isDebug = false; (function () { // Recolor Module // Changes the color of almost everything modules.recolor.options = { // Enable / Disable status: true, // Changes cyan titles to match the new chat username color titleSwap: true, // Colors color: "rgb(0, 153, 255)", darkColor: "rgb(0, 123, 235)", buttonColor: "rgba(0, 153, 255, 0.5)", buttonHoverColor: "rgba(0, 153, 255, 0.8)", progressBackgroundColor: "rgb(51, 71, 113)", profileLinkColor: "rgb(0, 123, 235)", mentionColor: "rgb(0, 219, 255)", mentionTabColor: "rgb(0, 153, 255)", chatUsernameColor: "rgb(0, 153, 255)" }; // Background Module // Changes the background to the link below modules.background.options = { // Enable / Disable status: true, // Standard Image: 'Stellar Collision' by KuldarLeement // Original Link: https://www.deviantart.com/kuldarleement/art/Stellar-collision-397866757 // Hosted Link: https://raw.githubusercontent.com/xPuls3/Pendorian-Elite-UI/dev/background.jpg // Background link link: "https://raw.githubusercontent.com/xPuls3/Pendorian-Elite-UI/dev/background.jpg" }; // Favicon Module // Changes the favicon to the link below modules.favicon.options = { // Enable / Disable status: true, // Favicon link link: "https://raw.githubusercontent.com/xpuls3/Pendorian-Elite-UI/master/favicon.ico" }; // Edits Module // Changes that used to be included with the recolor modules.edits.options = { // Enable / Disable status: true }; // Frameless Mode Module // Removes all of the frames modules.frameless.options = { // Enable / Disable status: true }; // Dungeon Sidebar Module // Removes the Dungeon tab and adds a link on the sidebar modules.dungeonSidebar.options = { // Enable / Disable status: true }; // Dual View Module // Forces both the action and content pages to always show next to each other vertically // Requires Dungeon Sidebar to work correctly modules.dualView.options = { // Enable / Disable status: false, // How far down the frame (in pixels) the line between content and actions is line: 220 }; // Legacy Sidebar Module // Makes the sidebar look almost like the original sidebar designed by Zampa modules.legacySidebar.options = { // Enable / Disable status: true }; // Rounded Borders Module // Makes most of the game's main area corners round. // Requires Frameless Mode to work correctly modules.roundedBorders.options = { // Enable / Disable status: false, // Changes how round the corners are with CSS values amount: "16px" }; // Extended Header Module // Extends the header above chat in side-by-side mode modules.extendedHeader.options = { // Enable / Disable status: true }; // Areas Included Module // Removes the Areas tab and adds the content to the battle tab modules.areasIncluded.options = { // Enable / Disable status: true }; // Extra Footer Links Module // Adds more links to the bottom of the screen modules.extraFooterLinks.options = { // Enable / Disable status: true, // Add more links below // Use the existing ones as examples links: [ [ "Karubo's ROI", "http://pendcalc.karubo.de/" ], [ "Puls3's Calcs", "https://xpuls3.github.io/calculators/" ], [ "Impulsive Updates", "https://xpuls3.github.io/blog/" ] ] }; // Remove Battle Stats Module // Removes the battle stats in the header modules.removeBattleStats.options = { // Enable / Disable status: false }; // Remove Gold & Stat Module // Removes Gold Boost & Stat Drop Boost from Rhodium Boosts modules.removeGoldStat.options = { // Enable / Disable status: false }; // Remove Logo Module // Removes the 'Pendoria Logo' and moves the left side upwards to reduce clutter modules.removeLogo.options = { // Enable / Disable status: true }; // Pace Hider Module // Removes the loading bar at the top of the screen modules.paceHider.options = { // Enable / Disable status: false }; // Remove Tabs Module // Removes the tabs on the actions page // Requires Dungeon Sidebar to work correctly // Requires Areas Included to work correctly modules.removeTabs.options = { // Enable / Disable status: false }; // Remove Tradeskill Selection Module // Removes the Tradeskill Selection dropdown and the work button // Ensure that you are already doing the TS that you want to continue doing // Click the action bar to refresh after turning this on modules.removeTradeskillSelection.options = { // Enable / Disable status: false, // Adds a small amount of space above the action text // Without this it will look awkward addSpace: true }; // Version Check Module // Checks for updates modules.versionCheck.options = { // Enable / Disable status: true, // Only check once every 24 hours dailyLimit: true }; })(); // [Functions] (function () { window.addEventListener("load", origin); function origin () { logDo(`Initiating Pendorian Elite UI v${version}`, 0); const k = Object.keys(modules); let promiseList = []; let isGame = checkIsPath("/game"); let isLogin = checkIsPath("/"); for (let i = 0; i < k.length; i++) { modules[k[i]].id = String(k[i]); if (typeof (modules[k[i]].name) === "undefined") modules[k[i]].name = modules[k[i]].id; if (isGame || (isLogin && modules[k[i]].runLogin)) activateModule(modules[k[i]]); } Promise.all(promiseList).then(function () { if (isDebug) logDo("Script completely loaded", 0); }); function activateModule(module) { if (typeof (module.options) !== "undefined") { if (module.options.status) { if (typeof (module.code) !== "undefined") { promiseList.push(new Promise(function (resolve) { module.code(resolve); }).then(function (result) { moduleEnabled(module, result) })); } else { logDo(`${module.name} Module does not contain code`, 1); } } } else { logDo(`${module.name} Module does not contain options`, 1); } } } function moduleEnabled (module, result) { if (result) { module.style = result; applyStyle(module); } if (isDebug) { logDo(`${module.name} Module enabled`, 0); } } function applyStyle (module) { let matches = $(`.Elite-UI-Style[Elite-UI-Module="${module.id}"]`); if (matches.length !== 0) matches.remove(); $("head").append(`<style class="Pendorian-Elite-UI Elite-UI-Style" Elite-UI-Module="${module.id}">${module.style}</style>`); } function checkIsPath (x) { return (window.location.pathname === x); } })(); function register () { return { "recolor": { "name": "Recolor", "runLogin": true }, "background": { "name": "Background", "runLogin": true }, "favicon": { "name": "Favicon", "runLogin": true }, "edits": { "name": "Edits" }, "frameless": { "name": "Frameless Mode", "runLogin": true }, "dungeonSidebar": { "name": "Dungeon Sidebar" }, "dualView": { "name": "Dual View" }, "legacySidebar": { "name": "Legacy Sidebar" }, "roundedBorders": { "name": "Rounded Borders", "runLogin": true }, "extendedHeader": { "name": "Extended Header" }, "areasIncluded": { "name": "Areas Included" }, "extraFooterLinks": { "name": "Extra Footer Links" }, "removeBattleStats": { "name": "Remove Battle Stats" }, "removeGoldStat": { "name": "Remove Gold & Stat" }, "removeLogo": { "name": "Remove Logo" }, "paceHider": { "name": "Pace Hider", "runLogin": true }, "removeTabs": { "name": "Remove Tabs" }, "removeTradeskillSelection": { "name": "Remove Tradeskill Selection" }, "versionCheck": { "name": "Version Check", "runLogin": true } }; } function define () { modules.recolor.code = function (resolve) { const t = ` html { --Elite-Color: ${modules.recolor.options.color}; --Elite-Dark-Color: ${modules.recolor.options.darkColor}; --Elite-Mention-Color: ${modules.recolor.options.mentionColor}; --Elite-Mention-Tab-Color: ${modules.recolor.options.mentionTabColor}; --Elite-Button-Color: ${modules.recolor.options.buttonColor}; --Elite-Button-Hover-Color: ${modules.recolor.options.buttonHoverColor}; --Elite-Profile-Link-Color: ${modules.recolor.options.profileLinkColor}; --Elite-Progress-Background-Color: ${modules.recolor.options.progressBackgroundColor}; --Elite-Chat-Color: ${modules.recolor.options.chatUsernameColor}; } /* Chat Color CSS */ .chat-username { color: var(--Elite-Chat-Color) !important; } #chat-messages > ul > li > font[color="#00ffff"] { color: var(--Elite-Chat-Color) !important; } .chat-local-error, #chat-messages ul li span[style*="color: #ea907b;"] { color: var(--Elite-Color) !important; } .username-hilighted { color: var(--Elite-Mention-Color) !important; } .chat-hilighted { color: var(--Elite-Mention-Tab-Color) !important; } /* UI CSS Below */ #invinfo, #scraptowninfo, #invasioninfo, .activity-log-username, .guild-section [style*="color: rgb(29, 166, 87);"], .guild-section [style*="color: #1da657;"], #event[style="color:red;"], #mailcount, #action-info, a[style="color: rgb(255, 0, 0);"] { color: var(--Elite-Color) !important; } #header-stats, #quest_done, #quest_prog { color: var(--Elite-Color); } .green, #expwidth, #building-progress, #profile-scraptown-building-progress, #profile-encampment-building-progress, #chat-composer input[type="submit"], .toast-success { background-color: var(--Elite-Color) !important; } button { background: var(--Elite-Button-Color) !important; } button:hover { background: var(--Elite-Button-Hover-Color) !important; } .item-rarity-runic { color: var(--Elite-Color) !important; text-shadow: 0 0 1px blue !important; } .display-item [style*="color: rgb(29, 166, 87);"], .display-item [style*="color: green;"], #rerollCost, #rerollCost + span[style="color: #1da657;"] { color: var(--Elite-Color) !important; } .display-item [style*="color: #98bda1; padding-top: 5px;"], #lockedStatsForm span[style="color: green;"], #lockedStatsForm div[style="color: #98bda1; padding-top: 5px;"]{ color: var(--Elite-Dark-Color) !important; } ::selection { color: white; background: var(--Elite-Color); } .guild-name { font-weight: bold; color: var(--Elite-Profile-Link-Color); } .chat-command { color: var(--Elite-Color); } progress { color: var(--Elite-Color); } progress::-webkit-progress-value { background: var(--Elite-Color); } progress::-moz-progress-bar { background: var(--Elite-Color); } progress::-webkit-progress-bar { background: var(--Elite-Color); } #progressbar-wrapper { background: var(--Elite-Progress-Background-Color); } #exp { background: var(--Elite-Progress-Background-Color) !important; } .tab-game-content [style*="width: 100%; border-radius: 10px; overflow: hidden; background-color: #31453a;"] { background: var(--Elite-Progress-Background-Color) !important; } .terms-section-header, .question { color: var(--Elite-Color) !important; } #dungeon-progressbar-wrapper { background-color: var(--Elite-Progress-Background-Color); } #dungeon-progressbar-wrapper .progressbar, #encampment-building-progress { background-color: var(--Elite-Color) !important; } [data-player-id*="334"] .chat-username { color: rgb(0, 153, 255) !important; } #quint span, .actionexperience, .actionexperience span, #double_tradeskill span, #guild_amount, #guild_currency, #gainedtype, #gainedres, #actionencampmentax { color: var(--Elite-Color) !important; } .timeshit, .timescrit, .timesdodged, .hitstaken, #gainedgold, .actiongold, #guild_gold, #double_battle span { color: var(--Elite-Color) !important; } .pace .pace-progress { background: var(--Elite-Color) !important; }`; resolve(t); }; modules.background.code = function (resolve) { const t = ` body { background: #171d1d url(${modules.background.options.link}) no-repeat scroll center center; background-attachment: fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }`; resolve(t); }; modules.favicon.code = function (resolve) { const t = `<link rel="icon" href="${modules.favicon.options.link}"/>`; $("head").append(t); resolve(); }; modules.edits.code = function (resolve) { const t = ` #dungeon-dialogue { display: none; }`; resolve(t); }; modules.frameless.code = function (resolve) { const t = ` #menu, #profile, #chat, #charity, #stats-hourly, #gameframe, #drop-statistics { border: none !important; } #gameframe-status-wrapper:after, #progressbar-wrapper::after { background: none; } #progressbar-wrapper { bottom: 0px; } #progressbar-wrapper .progressbar { top: 0px; } #gameframe-status-wrapper { line-height: 15px; top: 0px; left: 0px; right: 0px; }`; resolve(t); }; modules.dungeonSidebar.code = function (resolve) { const t = ` #gameframe-battle > ul > li:nth-child(4) { display: none; } #dungeon-content, #dungeon-tools-content { color: white; }`; $("#scraptown-button").parent().after(`<li><a href="" id="elite-dungeon-button" class="Pendorian-Elite-UI"><i class="fas fa-dungeon"></i>Dungeons</a></li>`); // Function Below Grabbed From Pendoria And Modified // Heavily modified, as this code is less than awesome. $("#elite-dungeon-button").click(function (event) { event.preventDefault(); ajaxPost("/action/dungeons", function (data) { $("#gameframe-content").html(data).show(); $("#gameframe-battle").hide(); $("#dungeon-tools-content [tooltip-title]").each(function () { $(this).qtip({ content: { title: $(this).attr("tooltip-title"), text: $(this).attr("tooltip-text") }, style: { classes: "qtip-dark" }, position: { target: "mouse" } }); }); ajaxPost("/dungeons/in-progress", function (inProgress) { $progressbarWrapper = $("#dungeon-progressbar-wrapper"); $startButton = $(".dungeon-button-start"); if (inProgress) { $progressbarWrapper.attr("hidden", false); $startButton.attr("hidden", true); setDungeonDialogueText(dungeonTextInProgress); } else { $progressbarWrapper.attr("hidden", true); $startButton.attr("hidden", false); setDungeonDialogueText(dungeonTextDone); } $dungeonDialogue = $("#dungeon-dialogue"); $dungeonDialogue.attr("hidden", false); $dungeonControls = $(".dungeon-controls"); $dungeonControls.attr("hidden", false); updateDungeonActivatorCount(); updateProfileDungeonActivatorCount(); }); ajaxPost("/dungeons/boosts", function (dungeonBoosts) { dungeonTools.updateBoostPrices(dungeonBoosts); }); }); }); resolve(t); }; modules.dualView.code = function (resolve) { const t = ` html { --DualViewLine: ${modules.dualView.options.line}px; } #gameframe-battle { display: block !important; height: var(--DualViewLine); } #gameframe-content { display: block !important; height: calc(100% - var(--DualViewLine) - 80px); top: calc(70px + var(--DualViewLine)); } #menu ul li:first-child { display: none !important; }`; resolve(t); }; modules.legacySidebar.code = function (resolve) { const t = ` #menu .frame { display: none; width: 0px; } #menu { padding: 0px; background: none !important; height: auto !important; overflow: hidden; } #menu li a { font-family: "Open Sans", helvetica, arial; color: #969696; padding: 5px 0; text-decoration: none; font-size: 15px; padding-left: 15px; } #menu li.active a, #menu li:hover a{ color: #FFFFFF; text-decoration: none !important; }`; resolve(t); }; modules.roundedBorders.code = function (resolve) { const l = modules.roundedBorders.options.amount; const t = ` #profile, #menu, #stats-hourly, #ether-resources-sidebar, #gameframe-battle, #gameframe-content, #drop-statistics, #gameframe-status-wrapper, #chat, #chat-form { border-radius: ${l} !important; } .nav-tabs > li > a { border-radius: ${l} ${l} 0px 0px !important; }`; resolve(t); }; modules.extendedHeader.code = function (resolve) { let t = ` #header-content { width: calc(100% - 260px) !important }`; resolve(t); }; modules.areasIncluded.code = function (resolve) { const t = ` #gameframe-battle > ul > li:nth-child(3) { display: none; }`; setTimeout(function () { let $battleNav = $("#gameframe-battle .nav-tabs li"); $battleNav.off("click"); // Function Below Grabbed From Pendoria And Modified $battleNav.on("click", "a", function (e) { let url; if (e.currentTarget.textContent === "Battle") { url = "battle"; } else if (e.currentTarget.textContent === "Tradeskill") { url = "tradeskill"; } else if (e.currentTarget.textContent === "Dungeons") { // Open dungeons instead url = "dungeons"; } else if (e.currentTarget.textContent === "Area") { // Open dungeons instead url = "area"; } ajaxPost("/action/" + url, function (data) { $("#actioncontent").html(data); if (url === "dungeons") { ajaxPost("/action/dungeons", function (data) { $("#gameframe-battle").html(data).show(); $("#dungeon-tools-content [tooltip-title]").each(function () { $(this).qtip({ content: { title: $(this).attr("tooltip-title"), text: $(this).attr("tooltip-text") }, style: { classes: "qtip-dark" }, position: { target: "mouse" } }); }); ajaxPost("/dungeons/in-progress", function (inProgress) { $progressbarWrapper = $("#dungeon-progressbar-wrapper"); $startButton = $(".dungeon-button-start"); if (inProgress) { $progressbarWrapper.attr("hidden", false); $startButton.attr("hidden", true); setDungeonDialogueText(dungeonTextInProgress); } else { $progressbarWrapper.attr("hidden", true); $startButton.attr("hidden", false); setDungeonDialogueText(dungeonTextDone); } $dungeonDialogue = $("#dungeon-dialogue"); $dungeonDialogue.attr("hidden", false); $dungeonControls = $(".dungeon-controls"); $dungeonControls.attr("hidden", false); updateDungeonActivatorCount(); updateProfileDungeonActivatorCount(); }); ajaxPost("/dungeons/boosts", function (dungeonBoosts) { dungeonTools.updateBoostPrices(dungeonBoosts); }); }); } if (url === "tradeskill") { $("#stats-hourly-tab-battle").attr("hidden", true); $("#stats-hourly-tab-tradeskill").attr("hidden", false); } if (url === "battle") { $("#stats-hourly-tab-battle").attr("hidden", false); $("#stats-hourly-tab-tradeskill").attr("hidden", true); if (!$("#AreasIncluded").first.length) { $("#nofight").after("<div id='AreasIncluded' class=\"Pendorian-Elite-UI\"></div>"); $("#gameframe-battle > ul > li:contains('Area')").hide(); } $.ajax({ type: "POST", url: "/action/area", success: function (data) { $("#AreasIncluded").html(data.replace(`<div style="text-align: center; margin-top: 10px; margin-bottom: 15px;">Exploring the lands? Watch out for strangers.</div>`, "")); } }); } }); }); if (!$("#AreasIncluded").first.length) { $("#nofight").after("<div id='AreasIncluded'></div>"); } $.ajax({ type: "POST", url: "/action/area", success: function (data) { $("#AreasIncluded").html(data.replace(`<div style="text-align: center; margin-top: 10px; margin-bottom: 15px;">Exploring the lands? Watch out for strangers.</div>`, "")); } }); }, 10000); resolve(t); }; modules.extraFooterLinks.code = function (resolve) { const links = modules.extraFooterLinks.options.links; let e = $("#gameframe-menu #togglechat").parent(); for (let i = 0; i < links.length; i++) { e.after(`<li class="Pendorian-Elite-UI Elite-UI-Extra-Footer-Link" style="vertical-align: top;"><a href="${links[i][1]}" target="_blank">${links[i][0]}</a></li>`); } resolve(); }; modules.removeBattleStats.code = function (resolve) { const t = ` #rhodium-boosts-actions + div + div > table > tbody > tr:nth-of-type(3), #rhodium-boosts-actions + div + div > table > tbody > tr:nth-of-type(2), #rhodium-boosts-actions + div + div > table > tbody > tr:nth-of-type(1), #rhodium-boosts-actions + div + div + div > table > tbody > tr:nth-of-type(3), #rhodium-boosts-actions + div + div + div > table > tbody > tr:nth-of-type(2), #rhodium-boosts-actions + div + div + div > table > tbody > tr:nth-of-type(1) { display: none; }`; resolve(t); }; modules.removeGoldStat.code = function (resolve) { let t = ` #header-content { width: calc(100% - 260px) !important }`; resolve(t); }; modules.removeLogo.code = function (resolve) { const t = ` #content > div.wrapper > aside > * { top: -50px; } #logo { display: none; } #content > .wrapper:first-child > header:first-child { pointer-events: none; } #header-stats { pointer-events: auto; }`; resolve(t); }; modules.paceHider.code = function (resolve) { const t = `.pace{ display: none !important }`; resolve(t); }; modules.removeTabs.code = function (resolve) { const t = ` #gameframe-battle > ul { display: none; }`; resolve(t); }; modules.removeTradeskillSelection.code = function (resolve) { let t = ` #actioncontent > div:nth-child(2) { display: none !important; }`; if (modules.removeTradeskillSelection.options.addSpace === true) { t = t + ` #actioncontent { margin-top: 15px; }`; } resolve(t); }; modules.versionCheck.code = function (resolve) { let t = ` .elite-version-window { z-index: 999999999; width: 100vw; height: 100vh; max-width: max-content; background: rgba(0, 0, 0, 0.70); } .elite-version-window h1 { text-align: center; padding-top: 10px; } .elite-version-window button { text-align: center; margin-right: 10px; } .elite-version-content { width: 30%; min-width: max-content; height: 135px; background: black; color: white; top: 0; left: 0; bottom: 0; right: 0; margin: auto; position: absolute; padding: 0px 50px 0px; } .elite-version-border { border: 10px solid transparent !important; border-image-source: url(/images/frame.png) !important; border-image-slice: 10 8 !important; border-image-repeat: round !important; }`; let hasls = (function () { let test = "test"; try { localStorage.setItem(test, test); localStorage.removeItem(test); return true; } catch (e) { return false; } }); if (hasls || !modules.versionCheck.options.dailyLimit) { let lastCheck = new Date(localStorage.getItem("Last Elite UI Version Check")); if ((new Date().getTime() - lastCheck.getTime()) > (60 * 60 * 24 * 1000) || !modules.versionCheck.options.dailyLimit) { localStorage.setItem("Last Elite UI Version Check", String(new Date())); new Promise(function (resolve) { $.get("https://api.github.com/repos/xpuls3/Pendorian-Elite-UI/releases/latest", function (data) { if (version.includes("-") && version.split("-")[0] === data.tag_name) { resolve(data.tag_name); } else if (version.split("-")[0] !== data.tag_name) { resolve(data.tag_name); } else { resolve(false); } }); }).then(function (newVer) { if (newVer !== false) { logDo(`Pendorian Elite UI v${newVer} has been released, you are currently running outdated version ${version}`, 1); const eliteVersionWindowBackground = document.createElement("div"); eliteVersionWindowBackground.setAttribute("class", "elite-version-window"); eliteVersionWindowBackground.setAttribute("id", "elite-version-window"); const eliteVersionWindowContent = document.createElement("div"); eliteVersionWindowContent.setAttribute("class", "elite-version-content elite-version-border"); eliteVersionWindowContent.innerHTML = `<h1>Outdated Elite UI Version!</h1><p>Pendorian Elite UI v${newVer} has been released, you are currently running outdated version ${version}!</p>`; const eliteVersionDownloadButton = document.createElement("button"); eliteVersionDownloadButton.innerText = "Download"; eliteVersionDownloadButton.setAttribute("onclick", "window.open('https://github.com/xPuls3/Pendorian-Elite-UI/raw/master/script.user.js', '_blank');"); const eliteVersionNotesButton = document.createElement("button"); eliteVersionNotesButton.innerText = "Release Notes"; eliteVersionNotesButton.setAttribute("onclick", "window.open('https://github.com/xPuls3/Pendorian-Elite-UI/releases/latest', '_blank');"); const eliteVersionCloseButton = document.createElement("button"); eliteVersionCloseButton.innerText = "Close"; eliteVersionCloseButton.setAttribute("onclick", `$("#elite-version-window").remove();`); eliteVersionWindowContent.appendChild(eliteVersionDownloadButton); eliteVersionWindowContent.appendChild(eliteVersionNotesButton); eliteVersionWindowContent.appendChild(eliteVersionCloseButton); eliteVersionWindowBackground.appendChild(eliteVersionWindowContent); document.body.appendChild(eliteVersionWindowBackground); } }); } } resolve(t); }; } function logDo (i, t) { const logType = { 0: ["OKAY", "color: rgb(0,148,255);"], 1: ["ERROR", "color:red;"] }; let logArray = [`%c[%cElite UI%c] [%c${logType[t][0]}%c] ${i}`, "color: none;", "color: rgb(0,148,255);", "color: none;", logType[t][1], "color: none;"]; console.log.apply(null, logArray); }