// ==UserScript==
// @name Sploop.io-Modifications [ spikeMod - LegitMod ] -
// @namespace -
// @version 2.0.3
// @description spike's are cool
// @author Viperrrr
// @match *://sploop.io/*
// @grant none
// @require http://code.jquery.com/jquery-3.3.1.min.js
// @require https://code.jquery.com/ui/1.12.0/jquery-ui.min.js
// @icon https://i.imgur.com/ytddtwh.png
// @downloadURL none
// ==/UserScript==
document.title = 'Sploop.io - spikeMod[Legit]';
document.querySelector("link[rel='icon']").href = "https://i.imgur.com/ytddtwh.png";
document.getElementById("logo").src = "https://i.imgur.com/Bd0QMkT.png";
// -/ | \- Spike Mod -/ | \- \\
function addRainbowText() {
const rainbowText = document.createElement('div');
rainbowText.id = 'sMod';
rainbowText.innerHTML = 'SpikeMod';
rainbowText.className = 'rainbow-text'; // Add a class for styling and animation
rainbowText.style.display = 'none'; // Initially hide the sMod div
document.body.appendChild(rainbowText);
}
addRainbowText();
let gridToggle = false
function toggleGrid() {
const grid = document.querySelector('#grid-toggle');
grid.click();
}
document.getElementById('play').addEventListener('click', function() {
if (!gridToggle) {
toggleGrid();
gridToggle = true;
}
document.getElementById('sMod').style.display = 'block'; // Show the sMod div
});
(function() {
'use strict';
let modB = `
`;
$("body").append(modB)
let cfB = `
`;
$("body").append(cfB)
let SploopStyle = `
`;
$("body").append(SploopStyle)
const hatStoreBox = document.getElementById("hat-menu")
const clanMenuBox = document.getElementById("clan-menu")
const mainMenuBox = document.getElementById("game-middle-main")
const hatStoreContentBox = document.getElementById("hat_menu_content")
const nicknameBox = document.getElementById("nickname-container");
const nickname = document.getElementById("nickname")
const informationBox = document.getElementById("infoBox")
const cpsBox = document.getElementById("cps")
const fpsBox = document.getElementById("fps")
const serverBox = document.getElementById("server-label")
const gameBox = document.getElementById("game-mode-label")
const ModMenu = document.getElementById("spikeModMenu")
const sideBarMenu = document.getElementById("block-bind")
const hatDescriptions = [
document.getElementsByClassName("column-flex column-flex-extra").item(0),
document.getElementsByClassName("column-flex column-flex-extra").item(1),
document.getElementsByClassName("column-flex column-flex-extra").item(2),
document.getElementsByClassName("column-flex column-flex-extra").item(3),
document.getElementsByClassName("column-flex column-flex-extra").item(4),
document.getElementsByClassName("column-flex column-flex-extra").item(5),
document.getElementsByClassName("column-flex column-flex-extra").item(6),
document.getElementsByClassName("column-flex column-flex-extra").item(7),
document.getElementsByClassName("column-flex column-flex-extra").item(8),
document.getElementsByClassName("column-flex column-flex-extra").item(9),
document.getElementsByClassName("column-flex column-flex-extra").item(10)
]
const hatPrices = [
document.getElementsByClassName("pricing hat_price_tag").item(0),
document.getElementsByClassName("pricing hat_price_tag").item(1),
document.getElementsByClassName("pricing hat_price_tag").item(2),
document.getElementsByClassName("pricing hat_price_tag").item(3),
document.getElementsByClassName("pricing hat_price_tag").item(4),
document.getElementsByClassName("pricing hat_price_tag").item(5),
document.getElementsByClassName("pricing hat_price_tag").item(6),
document.getElementsByClassName("pricing hat_price_tag").item(7),
document.getElementsByClassName("pricing hat_price_tag").item(8),
document.getElementsByClassName("pricing hat_price_tag").item(9),
document.getElementsByClassName("pricing hat_price_tag").item(10)
]
const hatButtons = [
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(0),
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(1),
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(2),
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(3),
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(4),
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(5),
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(6),
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(7),
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(8),
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(9),
document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(10)
]
const hatTitle = document.getElementsByClassName("pop-title text-shadowed-4").item(0)
const sandbox = document.getElementById("sandbox-mode")
const classic = document.getElementById("ffa-mode")
const popUi = document.getElementById("pop-ui")
const popSettings = document.getElementById("pop-settings")
const homeScreen = document.getElementById("homepage");
const chatBox = document.getElementById("chat-wrapper");
const grid = document.getElementById("grid-toggle")
const ping = document.getElementById("display-ping-toggle")
const settingsBox = document.getElementById("top-wrap-left");
const Skins = document.getElementById("nav-skins");
const Ranking = document.getElementById("nav-ranking");
const Game = document.getElementById("nav-game");
const Shop = document.getElementById("nav-shop");
const Profile = document.getElementById("nav-profile");
const Warning = document.getElementById("Warning");
const ranking = document.getElementById("ranking2-middle-main");
const rankSpots = document.getElementById("ranking-rank-container");
// -/ | \- Transparent HattStoreeee -/ | \-
setInterval(() => {
if (document.getElementById("hatStore").checked == true) {
hatStoreBox.style.opacity = "0.4"
} else {
hatStoreBox.style.opacity = "1"
}
})
// -/ | \- Transparent ClanMenu -/ | \-
setInterval(() => {
if (document.getElementById("clanMenu").checked == true) {
clanMenuBox.style.opacity = "0.5"
clanMenuBox.style.background = "rgba(0,0,0,0)"
} else {
clanMenuBox.style.opacity = "1"
}
})
// -/ | \- Transparent HomePagee -/ | \-
setInterval(() => {
if (document.getElementById("homeDisplay").checked == true) {
mainMenuBox.style.opacity = "0.4"
} else {
mainMenuBox.style.opacity = "1"
}
})
function blur() {
const homepage = document.getElementById("homepage");
homepage.style.display = "flex";
// -/ | \- Set a fixed blur value -/ | \-
const blurValue = 1.5;
homepage.style.backdropFilter = `blur(${blurValue}px)`;
}
setTimeout(blur, 2000);
// -/ | \- Auto-Ping -/ | \-
var checkbox = document.getElementById('display-ping-toggle');
checkbox.checked = true;
checkbox.dispatchEvent(new Event('change'));
// -/ | \- better hat Store -/ | \-
setInterval(() => {
if (document.getElementById("betterStore").checked == true) {
hatStoreBox.style.boxShadow = "none";
hatStoreBox.style.border = "none";
hatStoreBox.style.background = "none";
hatStoreContentBox.style.background = "none";
hatStoreContentBox.style.border = "none";
hatStoreContentBox.style.boxShadow = "none"
hatDescriptions[0].style.display = "none"
hatDescriptions[1].style.display = "none"
hatDescriptions[2].style.display = "none"
hatDescriptions[3].style.display = "none"
hatDescriptions[4].style.display = "none"
hatDescriptions[5].style.display = "none"
hatDescriptions[6].style.display = "none"
hatDescriptions[7].style.display = "none"
hatDescriptions[8].style.display = "none"
hatDescriptions[9].style.display = "none"
hatDescriptions[10].style.display = "none"
hatPrices[0].style.display = "none"
hatPrices[1].style.display = "none"
hatPrices[2].style.display = "none"
hatPrices[3].style.display = "none"
hatPrices[4].style.display = "none"
hatPrices[5].style.display = "none"
hatPrices[6].style.display = "none"
hatPrices[7].style.display = "none"
hatPrices[8].style.display = "none"
hatPrices[9].style.display = "none"
hatPrices[10].style.display = "none"
hatButtons[0].style.background = "none"
hatButtons[0].style.boxShadow = "none"
hatButtons[1].style.background = "none"
hatButtons[1].style.boxShadow = "none"
hatButtons[2].style.background = "none"
hatButtons[2].style.boxShadow = "none"
hatButtons[3].style.background = "none"
hatButtons[3].style.boxShadow = "none"
hatButtons[4].style.background = "none"
hatButtons[4].style.boxShadow = "none"
hatButtons[5].style.background = "none"
hatButtons[5].style.boxShadow = "none"
hatButtons[6].style.background = "none"
hatButtons[6].style.boxShadow = "none"
hatButtons[7].style.background = "none"
hatButtons[7].style.boxShadow = "none"
hatButtons[8].style.background = "none"
hatButtons[8].style.boxShadow = "none"
hatButtons[9].style.background = "none"
hatButtons[9].style.boxShadow = "none"
hatButtons[10].style.background = "none"
hatButtons[10].style.boxShadow = "none"
hatTitle.innerText = "SpikeMod - Transparent";
} else {
hatStoreBox.style.boxShadow = "rgb(78, 86, 69) 0px 4px 0px inset, rgb(56, 72, 37) 0px -4px 0px inset, rgba(20, 20, 20, 0.3) 0px 2px 0px 5px, rgba(20, 20, 20, 0.1) 0px 0px 0px 15px";
hatStoreBox.style.border = "5px solid black";
hatStoreBox.style.background = "rgb(40 45 34 / 60%)";
hatStoreContentBox.style.background = "rgba(20, 20, 20, 0.3)";
hatStoreContentBox.style.border = "4px solid black";
hatStoreContentBox.style.boxShadow = "rgba(20, 20, 20, 0.4) 0px 5px 0px inset"
hatDescriptions[0].style.display = "flex"
hatDescriptions[1].style.display = "flex"
hatDescriptions[2].style.display = "flex"
hatDescriptions[3].style.display = "flex"
hatDescriptions[4].style.display = "flex"
hatDescriptions[5].style.display = "flex"
hatDescriptions[6].style.display = "flex"
hatDescriptions[7].style.display = "flex"
hatDescriptions[8].style.display = "flex"
hatDescriptions[9].style.display = "flex"
hatDescriptions[10].style.display = "flex"
hatPrices[0].style.display = "flex"
hatPrices[1].style.display = "flex"
hatPrices[2].style.display = "flex"
hatPrices[3].style.display = "flex"
hatPrices[4].style.display = "flex"
hatPrices[5].style.display = "flex"
hatPrices[6].style.display = "flex"
hatPrices[7].style.display = "flex"
hatPrices[8].style.display = "flex"
hatPrices[9].style.display = "flex"
hatPrices[10].style.display = "flex"
hatButtons[0].style.background = "rgb(150, 185, 67)"
hatButtons[0].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatButtons[1].style.background = "rgb(150, 185, 67)"
hatButtons[1].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatButtons[2].style.background = "rgb(150, 185, 67)"
hatButtons[2].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatButtons[3].style.background = "rgb(150, 185, 67)"
hatButtons[3].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatButtons[4].style.background = "rgb(150, 185, 67)"
hatButtons[4].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatButtons[5].style.background = "rgb(150, 185, 67)"
hatButtons[5].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatButtons[6].style.background = "rgb(150, 185, 67)"
hatButtons[6].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatButtons[7].style.background = "rgb(150, 185, 67)"
hatButtons[7].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatButtons[8].style.background = "rgb(150, 185, 67)"
hatButtons[8].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatButtons[9].style.background = "rgb(150, 185, 67)"
hatButtons[9].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatButtons[10].style.background = "rgb(150, 185, 67)"
hatButtons[10].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset"
hatTitle.innerText = "SpikeMod - Visible"
}
})
// -/ | \- starving Hat Store (lol it needs to eat more) -/ | \-
setInterval(() => {
if (document.getElementById("ThinStore").checked == true) {
document.getElementById("betterStore").checked = true
hatStoreBox.style.width = "200px"
} else {
hatStoreBox.style.width = "500px"
}
})
// -/ | \- Anti-NameChange -/ | \-
setInterval(() => {
if (document.getElementById("antiName").checked == true) {
nicknameBox.style.pointerEvents = "none"
} else {
nicknameBox.style.pointerEvents = "auto"
}
})
// -/ | \- BIGGer Rank Leaderboard -/ | \-
setInterval(() => {
if (document.getElementById("BiggerR").checked == true) {
ranking.style.height = "600px"
rankSpots.style.height = "475px"
} else {
ranking.style.height = "285px"
rankSpots.style.height = "181px"
}
})
// -/ | \- classic Toggle -/ | \-
function checkClassicA() {
if (document.getElementById("classicA").checked == true) {
document.getElementById("sandboxA").checked = false;
classic.click();
}
}
document.getElementById("classicA").addEventListener("change", checkClassicA);
// -/ | \- sandbox Toggle -/ | \-
function checkSandboxA() {
if (document.getElementById("sandboxA").checked == true) {
document.getElementById("classicA").checked = false;
sandbox.click();
}
}
document.getElementById("sandboxA").addEventListener("change", checkSandboxA);
// -/ | \- Transparent InfoBox + ModMenu -/ | \-
setInterval(() => {
if (document.getElementById("opacityDisplay").checked == true) {
informationBox.style.opacity = "0.4"
} else {
informationBox.style.opacity = "1"
}
})
setInterval(() => {
if (document.getElementById("opacityDisplay").checked == true) {
ModMenu.style.background = "rgba(40, 45, 34, 0.31)"
sideBarMenu.style.background = "rgba(40, 45, 34, 0.31)"
} else {
ModMenu.style.background = "rgb(40, 45, 34)"
sideBarMenu.style.background = "rgb(40, 45, 34)"
}
})
// -/ | \- hide Cps -/ | \-
setInterval(() => {
if (document.getElementById("cpsDisplay").checked == true) {
cpsBox.style.display = "none"
} else {
cpsBox.style.display = "block"
}
})
// -/ | \- hide Fps -/ | \-
setInterval(() => {
if (document.getElementById("framesPerSecondDisplay").checked == true) {
fpsBox.style.display = "none"
} else {
fpsBox.style.display = "block"
}
})
// -/ | \- hide Server -/ | \-
setInterval(() => {
if (document.getElementById("serverDisplay").checked == true) {
serverBox.style.display = "none"
} else {
serverBox.style.display = "block"
}
})
// -/ | \- hide gameMode -/ | \-
setInterval(() => {
if (document.getElementById("gameDisplay").checked == true) {
gameBox.style.display = "none"
} else {
gameBox.style.display = "block"
}
})
// -/ | \- Auto Grid-toggle -/ | \-
function handleCheckbox() {
const checkbox = document.getElementById("grid-toggle");
const smallWaiting = document.getElementById("small-waiting");
if (checkbox.checked) {
smallWaiting.style.pointerEvents = "none";
checkbox.click();
} else {
smallWaiting.style.pointerEvents = "auto";
checkbox.click();
}
}
handleCheckbox();
// -/ | \- Move InfoBox if Ping toggled ON -/ | \-
setInterval(() => {
if (document.getElementById("display-ping-toggle").checked == true) {
informationBox.style.left = "18px"
informationBox.style.top = "40px"
} else {
informationBox.style.left = "12px"
informationBox.style.top = '6px'
}
})
// -/ | \- Remove InfoBox if all Info toggled OFF -/ | \-
setInterval(() => {
if (document.getElementById("cpsDisplay").checked == true && document.getElementById("framesPerSecondDisplay").checked == true && document.getElementById("serverDisplay").checked == true && document.getElementById("gameDisplay").checked == true) {
informationBox.style.display = "none"
}
})
// -/ | \- Custom ClanTitle -/ | \-
var phrases = [,"/ Spike /", "| Spike |", "- Spike -", "/ Spike /"];
var currentIndex = 0;
setInterval(function() {
var element = document.getElementById('clan-title');
if (element) {
element.textContent = phrases[currentIndex];
currentIndex = (currentIndex + 1) % phrases.length;
}
}, 200);
// -/ | \- Change Chat Box Inner Text -/ | \-
const placeholders = [
"SPIKE",
"_S_P_I_K_E",
"-S-P-I-K-E",
".S.P.I.K.E.",
"=S=P=I=K=E=",
"+S+P+I+K+E"
];
function changePlaceholder(index) {
if (index >= placeholders.length) {
return;
}
setTimeout(() => {
document.getElementById('chat').placeholder = placeholders[index];
changePlaceholder(index + 1);
}, 200);
}
setInterval(() => {
changePlaceholder(0);
}, 1100);
// -/ | \- Delete Elements -/ | \-
const elementsToRemove = [
'game-left-content-main',
'game-right-content-main',
'game-bottom-content',
'right-content',
'left-content',
'skin-message',
'shop-message',
'cross-promo',
'google_play',
'landscape',
'waiting',
'policy',
];
elementsToRemove.forEach(function(elementId) {
const element = document.getElementById(elementId);
if (element) {
element.remove();
}
});
// -/ | \- Change Health bar color + Add stroke -/ | \-
const enhanceFillRect = function (fill, cColor) {
return function (x, y, width, height) {
if (this.fillStyle === "#a4cc4f") {
this.fillStyle = cColor;
}
fill.call(this, x, y, width, height);
};
};
const customColor = "#397bed";
const FillRect = CanvasRenderingContext2D.prototype.fillRect;
CanvasRenderingContext2D.prototype.fillRect = enhanceFillRect(FillRect, customColor);
CanvasRenderingContext2D.prototype.fillText = new Proxy(CanvasRenderingContext2D.prototype.fillText, {
apply: function (target, thisArg, argumentsList) {
thisArg.lineWidth = 7;
thisArg.strokeStyle = "black";
thisArg.strokeText.apply(thisArg, argumentsList);
return target.apply(thisArg, argumentsList);
}
});
// -/ | \- Access homepage -/ | \-
function handleArrowRightKeyPress(event) {
if (ModMenu.style.display === "none" && popUi.style.display === "none") {
if (event.code === $("#homeBind").val()) {
if (homeScreen) {
if (homeScreen.style.display === "flex") {
homeScreen.style.display = "none";
settingsBox.style.display = "flex"
} else {
homeScreen.style.display = "flex";
settingsBox.style.display = "none";
}
}
event.preventDefault();
event.stopPropagation();
}
}
}
document.addEventListener("keydown", handleArrowRightKeyPress);
// -/ | \- Instant Leave / Ragequite (lol imagine) -/ | \-
(function() {
'use strict';
document.addEventListener("keydown", function(event) {
var homepage = document.getElementById("homepage");
var isPlayerInGame = homepage.style.display === "none";
if (isPlayerInGame && event.code === "AltRight" ) {
event.preventDefault();
var ffaMode = document.getElementById("ffa-mode");
var sandboxMode = document.getElementById("sandbox-mode");
var popProgressLoss = document.getElementById("pop-progress-loss");
var changeServer = document.getElementById("change-server");
if (isPlayerInGame) {
var activeButton = ffaMode.classList.contains("dark-blue-button-3-active") ? sandboxMode : ffaMode;
homepage.style.display = "flex";
activeButton.click();
}
if (popProgressLoss.style.display === "flex") {
changeServer.click();
}
}
});
})();
// -/ | \- Access Settings -/ | \-
function handleArrowLeftKeyPress(event) {
if (homeScreen.style.display === "none" && ModMenu.style.display === "none" ) {
if (event.code === $("#settingsBind").val()) {
if (popUi && popSettings) {
if (popUi.style.display === "flex") {
popUi.style.display = "none";
popSettings.style.display = "none";
} else {
popUi.style.display = "flex";
popUi.classList.add("fade-in")
popSettings.style.display = "flex";
popSettings.classList.add("fade-in")
popUi.style.background = "none"
popSettings.style.background = "none"
popSettings.style.boxShadow = "none"
popSettings.style.border = "2px solid black"
}
}
event.preventDefault();
event.stopPropagation();
}
}
}
document.addEventListener("keydown", handleArrowLeftKeyPress);
// -/ | \- ModMenu toggle -/ | \-
function handleArrowUpKeyPress(event) {
if (popUi.style.display === "none") {
if (event.code === $("#modBind").val()) {
if (ModMenu) {
if (ModMenu.style.display === "block") {
ModMenu.style.display = "none"
} else {
ModMenu.style.display = "block"
}
}
event.preventDefault();
event.stopPropagation();
}
}
}
document.addEventListener("keydown", handleArrowUpKeyPress);
// -/ | \- Info Box -/ | \-
function handleArrowDownKeyPress(event) {
if (event.code === $("#infoBind").val()) {
if (informationBox) {
if (informationBox.style.display === "block") {
informationBox.style.display = "none"
} else {
informationBox.style.display = "block"
}
}
event.preventDefault();
event.stopPropagation();
}
}
document.addEventListener("keydown", handleArrowDownKeyPress);
// -/ | \- Server and Gamemode Label -/ | \-
var serverLabel = document.getElementById("server-label");
var gameModeLabel = document.getElementById("game-mode-label");
serverLabel.textContent = "Server: Unknown";
gameModeLabel.textContent = "Game Mode: Unknown";
function updateLabels() {
var serverSelect = document.getElementById("server-select");
var serverName = "";
for (var i = 0; i < serverSelect.options.length; i++) {
var option = serverSelect.options[i];
if (option.selected) {
serverName = option.textContent;
break;
}
}
if (serverName !== "") {
serverLabel.textContent = serverName;
} else {
serverLabel.textContent = "Server: Connecting";
}
var ffaMode = document.getElementById("ffa-mode");
var sandboxMode = document.getElementById("sandbox-mode");
var battleRoyaleMode = document.getElementById("battleroyale-mode");
var smallWaiting = document.getElementById("small-waiting");
if (smallWaiting.style.display === "flex") {
gameModeLabel.textContent = "Game Mode: Connecting";
} else if (ffaMode.classList.contains("dark-blue-button-3-active")) {
gameModeLabel.textContent = "Game Mode: Classic";
} else if (sandboxMode.classList.contains("dark-blue-button-3-active")) {
gameModeLabel.textContent = "Game Mode: SandBox";
} else if (battleRoyaleMode.classList.contains("dark-blue-button-3-active")) {
gameModeLabel.textContent = "Game Mode: BattleRoyale";
} else {
gameModeLabel.textContent = "Game Mode: Unknown";
}
}
updateLabels();
setInterval(updateLabels, 500);
// -/ | \- Fps -/ | \-
var frameCount = 0;
var fpsStartTime = 0;
var fpsDisplay = document.getElementById("fps");
function updateDisplay() {
var currentTime = new Date().getTime();
var fpsElapsedTime = (currentTime - fpsStartTime) / 1000;
var fps = frameCount / fpsElapsedTime;
fpsDisplay.innerHTML = "FPS: " + fps.toFixed(0);
frameCount = 0;
fpsStartTime = currentTime;
}
function updateFrame() {
frameCount++;
requestAnimationFrame(updateFrame);
}
setInterval(updateDisplay, 1000);
updateFrame();
// -/ | \- Cps -/ | \-
let isSpacebarHeld = false;
let cps = 0;
let Mcps = 0;
let Hue = 0;
function updateCPS() {
const cpsElement = document.getElementById("cps");
cpsElement.textContent = "CPS: " + cps;
}
document.addEventListener("mousedown", function() {
cps++;
setTimeout(function() {
cps--;
}, 900);
});
document.addEventListener("keydown", function(event) {
if (event.key === " ") {
if (!isSpacebarHeld) {
isSpacebarHeld = true;
event.preventDefault();
}
}
});
document.addEventListener("keyup", function(event) {
if (event.key === " ") {
isSpacebarHeld = false;
cps++;
setTimeout(function() {
cps--;
}, 900);
}
});
setInterval(function() {
if (cps > Mcps) Mcps = cps;
Hue += Math.random() * 0.4;
updateCPS();
}, 0);
// -/ | \- Text into Emoji -/ | \-
const emojiMappings = {
":skull:": "๐",
":heart:": "โค๏ธ",
":smile:": "๐",
":thumbu:": "๐",
":thumbd:": "๐",
":sad:":"๐",
":happy:":"๐",
":nerd:":"๐ค",
":sun:":"๐",
":think:":"๐ค",
":eyes:":"๐",
":shock:" : "๐ฑ",
":yawn:":"๐ฅฑ",
":shush:":"๐คซ",
":mewing:":"๐คซ๐งโโ๏ธ",
":angry:":"๐ก",
":angel:":"๐",
":laugh:":"๐",
":wink:":"๐",
":smirk:":"๐",
":huh": "๐คจ",
":snail:":"๐",
":hehe:": "๐ฆ"
};
function replaceTextWithEmojis(text) {
let replacedText = text;
for (const pattern in emojiMappings) {
if (emojiMappings.hasOwnProperty(pattern)) {
replacedText = replacedText.replace(new RegExp(pattern, "g"), emojiMappings[pattern]);
}
}
return replacedText;
}
document.getElementById("chat").addEventListener("keydown", function(event) {
if (event.key === "Enter") {
const chatInput = event.target;
const text = chatInput.value;
const replacedText = replaceTextWithEmojis(text);
chatInput.value = replacedText;
}
});
document.getElementById("chat-wrapper").addEventListener("keydown", function(event) {
if (event.key === " ") {
event.stopPropagation();
}
});
document.getElementById("nickname").addEventListener("keydown", function(event) {
if (event.key === " ") {
event.stopPropagation();
}
});
// -/ | \- test (failed :C dm me if you know how to make chat commands :D)
document.getElementById("chat-wrapper").addEventListener("keydown", function(ev) {
if(ev.key == "Enter" && document.getElementById('chat-wrapper').value != '') {
const chatInput = event.target;
const text = chatInput.value.trim();
if (text.startsWith("!log ")) {
const name = text.substring(5).trim(); // Extracting the name after "!log "
if (name) {
setTimeout(() => {
const loggedMessage = `Logged ${name}`;
chatInput.value = loggedMessage;
// Clear the input field after a delay
setTimeout(() => {
chatInput.value = "";
}, 3000); // Clear after 3 seconds to allow time for sending the message
}, 1500);
}
}
}
});
// -/ | \- Dagger Fix cuz why not -/ | \-
(function() {
const { drawImage } = CanvasRenderingContext2D.prototype
CanvasRenderingContext2D.prototype.drawImage = function(image, x, y, width, height) {
if (/dagger/.test(image?.src) && (y === 5 || y > window.screen.availHeight - 100)) {
this.save()
this.strokeStyle = "rgba(45, 49, 49, .5)"
this.lineWidth = 6
this.roundRect(x + 3, y + 3, 95, 95, 16)
this.stroke()
this.restore()
arguments[3] = arguments[4] = 80
arguments[1] += 11
arguments[2] += 11
}
drawImage.apply(this, arguments)
}
})()
// -/ | \- Anti-Swear [make this toggleable] -/ | \-
const { fillText } = CanvasRenderingContext2D.prototype;
const cursing = ["cunt", "whore", "fuck", "shit", "faggot", "nigger", "nigga", "dick", "vagina", "minge", "cock", "rape", "cum", "sex", "tits", "penis", "clit", "pussy", "jizz", "prune", "douche", "wanker", "damn", "bitch", "dick", "fag", "bastard"],
replace = ["cxxx", "wxxxx", "fxxx", "sxxx", "fxxxxx", "nxxxxx", "nxxxx", "dxxx", "vxxxxx", "mxxxx", "cxxx", "rxxx", "cxx", "sxx", "txxx", "pxxxx", "cxxx", "pxxxx", "jxxx", "pxxxx", "dxxxxx", "wxxxxx", "dxxx", "bxxxx", "dxxx", "fxx", "bxxxxxx"];
CanvasRenderingContext2D.prototype.fillText = function (word) {
if (typeof word == "string") {
var tmpString;
for (var i = 0; i < cursing.length; ++i) {
if (word.toLowerCase().indexOf(cursing[i]) > -1) {
tmpString = replace[i];
var re = new RegExp(cursing[i], "ig");
word = word.replace(re, tmpString);
}
}
}
fillText.call(this, ...arguments);
};
})();