const afterLoaded = () => { const { $ } = unsafeWindow; window.addEventListener("keydown", async function (l) { if (!0 === document.querySelector("#cMultidrop").checked && !$("input, textarea").is(":focus") && "block" != $("#advert").css("display") && "block" != $("#overlays").css("display")) { if (l.repeat) return void l.preventDefault(); switch (l.keyCode) { case JSON.parse(localStorage.Multikey).mMultiGrowth.keyCode: for (let i = 0; i < Number(document.querySelector("#customMultiPelletsAmount").value); i++) { sendPw(3); } break; case k.mMultiMothercell: if (document.querySelector("#brMulVirus").checked) return; t(12, 5); sendPw(8); setTimeout(() => { }, 0); break; case k.mMultiVirus: if (document.querySelector("#brMulMtcl").checked) return; sendPw(12); sendPw(8); setTimeout(() => { sendPw(4); }, 0); break; case k.mShieldAntifreeze: t(14, 11); break; case k.mBreakShield: if (k.brshieldpw == "mothercell" || k.brshieldpw == "virus") { sendPw(6); sendPw(8); sendPw(12); if (k.brshieldpw == "mothercell") { sendPw(5); } else if (k.brshieldpw == "virus") { setTimeout(() => { sendPw(4); }, 0); } } else { p("Please choose any multidrop, mothercell, or virus after dropping!"); } break; case k.mRec: sendPw(1) break; case k.mSpeed: sendPw(2) break; case k.mGrowth: sendPw(3); break; case k.mVirus: sendPw(4); break; case k.mMothercell: sendPw(5); break; case k.mPortal: sendPw(6); break; case k.mBlock: sendPw(9); break; case k.mFreeze: sendPw(8); break; case k.mAntiFreeze: sendPw(11); break; case k.mAntiRec: sendPw(12); break; case k.mShield: sendPw(14); break; } } }); const e = (e, t) => { for (let l = 0; l < e; l++) sendPw(t); }, t = (e, t) => { sendPw(e), sendPw(t); }; $("#serverPanel .nav-tabs").append('
  • '); $("#serverPanel .tab-content").find('.hotkey-paragraph').css({ 'text-align': 'center', 'display': 'block', 'width': '100%', }); $("#serverPanel .nav-tabs .tab-radius").css({ 'width': '25%', 'border-radius': '10px' }); $("#serverPanel .tab-content").append(`

    Multi-drop

    Enabled
    \

    Powers

    \ Rec

    Speed

    Growth

    Virus

    Mothercell

    Portal

    Block

    Freeze

    Anti Freeze

    Anti Rec

    Shield

    Combos

    Antifreeze Shield

    Multi Growth

    Multi Virus

    Break Shield

    Multi Mothercell

    MultiVrus MultiMtcl

    Multi Growth Amount

    15

    Fast Split

    One

    Others

    Quick Respawn
    Animations Panel
    `); const l = document.getElementsByClassName("multi-input"); for (const e of l) (e.style.backgroundColor = "#df901c"), (e.style.color = "#fff"), (e.style.cursor = "pointer"), (e.style.textAlign = "center"), (e.style.minWidth = "40px"), (e.style.maxWidth = "60px"), (e.style.height = "18px"), (e.style.lineHeight = "18px"), (e.style.verticalAlign = "middle"), (e.style.borderRadius = "9px"), (e.style.right = "5px"), (e.style.position = "absolute"), (e.style.display = "inline-block"), (e.style.padding = "0 5px"), (e.style.overflow = "hidden"), (e.style.opacity = "1"); const n = document.getElementById("script").getElementsByClassName("multi-input"), i = "#df901c", s = "#fff"; let o = null, r = null; const d = JSON.parse(localStorage.getItem("Multikey")) || {}; for (const e of n) { let t = !1; e.addEventListener("click", function () { null !== o && ((o.style.backgroundColor = i), (o.style.color = s), document.removeEventListener("keydown", r), (o = null), (r = null)), t ? ((e.style.backgroundColor = i), (e.style.color = s), (t = !1)) : ((e.style.backgroundColor = "#ff4"), (e.style.color = "#444"), (t = !0), (o = e), (r = function (l) { l.stopPropagation(), l.preventDefault(), document.removeEventListener("keydown", r); const n = c(l.key); (e.innerHTML = n), p("Hotkey added", "green"), (d[e.id] = { ...d[e.id], key: l.key, keyCode: l.keyCode }), localStorage.setItem("Multikey", JSON.stringify(d)), (e.style.backgroundColor = i), (e.style.color = s), (t = !1), (o = null), (r = null); }), document.addEventListener("keydown", r)); }), e.addEventListener("mouseenter", function () { t || (e.style.backgroundColor = "#ffc266"); }), e.addEventListener("contextmenu", function (l) { l.preventDefault(), o === e && (document.removeEventListener("keydown", r), (o = null), (r = null), (e.style.backgroundColor = i), (e.style.color = s), (e.innerHTML = ""), (t = !1)), delete d[e.id], "" !== e.innerHTML && p("Hotkey removed", "red"), localStorage.setItem("Multikey", JSON.stringify(d)), (e.innerHTML = ""); }), e.addEventListener("mouseleave", function () { t || (e.style.backgroundColor = "#df901c"); }); } function c(e) { switch (e) { case "Control": return "CTRL"; case "Insert": return "INS"; case " ": return "SPACE"; default: return e.toUpperCase(); } } const toggle = e => { const toggleKey = document.querySelector("#mToggle").innerText; if (String(e.key).toLowerCase() === toggleKey.toLowerCase() && !$("input, textarea").is(":focus")) { $("#cMultidrop").prop("checked", !$("#cMultidrop").prop("checked")); $("#cMultidrop").is(":checked") ? p("Multi-drop Enabled", "green") : p("Multi-drop Disabled", "red"); } } unsafeWindow.addEventListener("keydown", toggle); document.querySelector("#cMultidrop").addEventListener("change", function () { this.checked ? p("Multi-drop Enabled", "green") : p("Multi-drop Disabled", "red"); }); var u = 15; function a(e) { (document.querySelector("#customMultiPelletsAmountValue").innerHTML = e), (u = Number(e)); } let m; function p(e, t, l) { "green" == t && (t = "rgb(0, 192, 0)"), "red" == t && (t = "rgb(255, 0, 0)"), "gray" == t && (t = "rgb(153, 153, 153)"), clearTimeout(m), $("#curser").text(e).show().css("color", t), 0 !== l && (m = setTimeout(() => $("#curser").fadeOut(400), l ?? 4e3)); } document.querySelector("#customMultiPelletsAmount").addEventListener("input", function () { a(this.value), (d.multiple = { ...d.multiple, amount: u.toString() }), localStorage.setItem("Multikey", JSON.stringify(d)); }); const y = JSON.parse(localStorage.getItem("Multikey")) || {}, h = () => { const e = JSON.parse(localStorage.getItem("Multikey")) || {}; return { mRec: e.mRec?.keyCode || "", mSpeed: e.mSpeed?.keyCode || "", mGrowth: e.mGrowth?.keyCode || "", mVirus: e.mVirus?.keyCode || "", mMothercell: e.mMothercell?.keyCode || "", mPortal: e.mPortal?.keyCode || "", mBlock: e.mBlock?.keyCode || "", mFreeze: e.mFreeze?.keyCode || "", mAntiFreeze: e.mAntiFreeze?.keyCode || "", mAntiRec: e.mAntiRec?.keyCode || "", mShield: e.mShield?.keyCode || "", mShieldAntifreeze: e.mShieldAntifreeze?.keyCode || "", mMultiPellets: e.mMultiPellets?.keyCode || "", mMultiVirus: e.mMultiVirus?.keyCode || "", mMultiMothercell: e.mMultiMothercell?.keyCode || "", mBreakShield: e.mBreakShield?.keyCode || "", brshieldpw: e.brshld?.power || "", }; }, k = h(); setInterval(() => { const e = h(); Object.assign(k, e); }, 2e3); const b = document.getElementById("brMulVirus"), v = document.getElementById("brMulMtcl"); b.addEventListener("change", () => { b.checked ? ((v.checked = !1), (d.brshld = { ...d.brshld, power: "virus" }), localStorage.setItem("Multikey", JSON.stringify(d))) : ((v.checked = !0), (d.brshld = { ...d.brshld, power: "mothercell" }), localStorage.setItem("Multikey", JSON.stringify(d))); }), v.addEventListener("change", () => { v.checked ? ((b.checked = !1), (d.brshld = { ...d.brshld, power: "mothercell" }), localStorage.setItem("Multikey", JSON.stringify(d))) : ((b.checked = !0), (d.brshld = { ...d.brshld, power: "virus" }), localStorage.setItem("Multikey", JSON.stringify(d))); }), window.addEventListener("load", () => { !(function () { const e = document.getElementById("script").getElementsByClassName("multi-input"); for (const t of e) { const e = t.id; if (y[e]) { const l = y[e].key; t.innerHTML = c(l); } } if (y.multiple && y.multiple.amount) { const e = parseInt(y.multiple.amount); a(e), (document.querySelector("#customMultiPelletsAmount").value = e); } y.brshld && y.brshld.power && ("virus" == y.brshld.power ? (b.checked = !0) : (v.checked = !0)); })(); }); $("#mToggle").css("right", "215px"); document.querySelector("#cToggle").addEventListener("change", function() { this.checked ? p("Quick Respawn Enabled", "green") : p("Quick Respawn Disabled", "red"); }); function attachChatListener() { const chtbox = document.querySelector("#chtbox"); if (chtbox) { chtbox.addEventListener("keydown", (e) => { if (e.key === "Enter") { const inputValue = chtbox.value.trim(); if ( inputValue === "/f multi" || inputValue.startsWith("/party") && inputValue.endsWith("/f multi") || inputValue.startsWith("/pm") && inputValue.endsWith("/f multi") ) { chtbox.value = inputValue.replace( "/f multi", "Using Multi-drop Limited Edition with Version: 3.0 made by Zsu & Zyn" ); } } }); } } const observer = new MutationObserver(() => { attachChatListener(); }); observer.observe(document.body, { childList: true, subtree: true }); attachChatListener(); } if (document.readyState === "complete" || document.readyState === "interactive") { setTimeout(afterLoaded, 1) } else { document.addEventListener("DOMContentLoaded", afterLoaded) }; let send, x, y; (unsafeWindow.sendPw = (e) => { let t = new DataView(new ArrayBuffer(10)); t.setUint8(0, 72), t.setInt32(1, x, !0), t.setInt32(5, y, !0), t.setUint8(9, e), send(t); }), (WebSocket.prototype.send = new Proxy(WebSocket.prototype.send, { apply(e, t, n) { send = (...n) => e.call(t, ...n); let a = n[0]; (a = a instanceof ArrayBuffer ? new DataView(a) : a instanceof DataView ? a : new DataView(a.buffer)), 0 === a.getUint8(0, !0) && 9 === a.byteLength && ([x, y] = [a.getInt32(1, !0), a.getInt32(5, !0)]), e.apply(t, n); }, }));