// ==UserScript== // @name Vortex Forge Web Client V1.0 // @namespace http://tampermonkey.net/ // @version 1.9 // @description Vortex Forge Web Client // @author NOOB // @match https://deadshot.io/* // @grant none // @downloadURL none // ==/UserScript== (function () { 'use strict'; let featuresEnabled = true; let seasonalModeEnabled = true; let fireworkInterval = null; let kKeyInterval = null; let isRightMousePressed = false; const newSettingsContent = `

Seasonal Update

VF Mode

`; function addCustomSettingsToTop() { const settingsDiv = document.getElementById('settingsDiv'); if (settingsDiv && !document.getElementById('vfswapper')) { const customDiv = document.createElement('div'); customDiv.innerHTML = newSettingsContent; settingsDiv.insertBefore(customDiv, settingsDiv.firstChild); } } function waitForSettingsDiv() { const retryInterval = setInterval(() => { const settingsDiv = document.getElementById('settingsDiv'); if (settingsDiv) { addCustomSettingsToTop(); setupSeasonalModeToggle(); setupVortexForgeModeToggle(); clearInterval(retryInterval); } }, 500); } function setupSeasonalModeToggle() { const swapperCheckbox = document.getElementById('vfswapper'); if (swapperCheckbox) { swapperCheckbox.addEventListener('change', (event) => { seasonalModeEnabled = event.target.checked; toggleSeasonalFeatures(seasonalModeEnabled); }); } } function setupVortexForgeModeToggle() { const vfCheckbox = document.getElementById('vfsettings'); if (vfCheckbox) { vfCheckbox.addEventListener('change', (event) => { featuresEnabled = event.target.checked; toggleFeatures(featuresEnabled); }); } } function toggleFeatures(enabled) { if (!enabled) { stopKKeyPress(); isRightMousePressed = false; } } function createFireworkParticle(x, y, color) { const particle = document.createElement('div'); particle.className = 'firework-particle'; particle.style.position = 'absolute'; particle.style.top = `${y}px`; particle.style.left = `${x}px`; particle.style.width = '5px'; particle.style.height = '5px'; particle.style.backgroundColor = color; particle.style.borderRadius = '50%'; particle.style.pointerEvents = 'none'; particle.style.transform = 'translate(-50%, -50%)'; const angle = Math.random() * 360; const speed = Math.random() * 3 + 2; const duration = Math.random() * 1 + 1.5; const xVelocity = Math.cos((angle * Math.PI) / 180) * speed; const yVelocity = Math.sin((angle * Math.PI) / 180) * speed; const animation = particle.animate( [ { transform: `translate(0, 0)`, opacity: 1 }, { transform: `translate(${xVelocity * 50}px, ${yVelocity * 50}px)`, opacity: 0 }, ], { duration: duration * 1000, easing: 'ease-out', } ); animation.onfinish = () => particle.remove(); document.body.appendChild(particle); } function launchFirework() { const x = Math.random() * window.innerWidth; const y = Math.random() * window.innerHeight * 0.5; const colors = ['red', 'blue', 'yellow', 'green', 'purple', 'orange', 'pink']; for (let i = 0; i < 50; i++) { createFireworkParticle(x, y, colors[Math.floor(Math.random() * colors.length)]); } } function startFireworks() { if (!fireworkInterval) { fireworkInterval = setInterval(launchFirework, 1000); } } function stopFireworks() { if (fireworkInterval) { clearInterval(fireworkInterval); fireworkInterval = null; } } function createHappyNewYearText() { const textDiv = document.createElement('div'); textDiv.id = 'happy-new-year-text'; textDiv.innerText = '🎉 Happy New Year! 🎆'; textDiv.style.position = 'fixed'; textDiv.style.top = '50%'; textDiv.style.left = '50%'; textDiv.style.transform = 'translate(-50%, -50%) scale(0)'; textDiv.style.fontSize = '4rem'; textDiv.style.color = 'gold'; textDiv.style.fontWeight = 'bold'; textDiv.style.textShadow = '0 0 10px red, 0 0 20px yellow, 0 0 30px white'; textDiv.style.pointerEvents = 'none'; textDiv.style.opacity = '0'; textDiv.style.zIndex = '9999'; document.body.appendChild(textDiv); const animation = textDiv.animate( [ { transform: 'translate(-50%, -50%) scale(0)', opacity: 0 }, { transform: 'translate(-50%, -50%) scale(1.2)', opacity: 1, offset: 0.5 }, { transform: 'translate(-50%, -50%) scale(1)', opacity: 1 }, { transform: 'translate(-50%, -50%) scale(1)', opacity: 0 }, ], { duration: 5000, easing: 'ease-in-out', } ); animation.onfinish = () => textDiv.remove(); } function toggleSeasonalFeatures(enabled) { if (enabled) { startFireworks(); createHappyNewYearText(); } else { stopFireworks(); } } function startKKeyPress() { if (!kKeyInterval) { kKeyInterval = setInterval(() => { const kKeyEvent = new KeyboardEvent('keydown', { key: 'K', code: 'KeyK', keyCode: 75, which: 75, bubbles: true, cancelable: true, }); document.dispatchEvent(kKeyEvent); }, 100); } } function stopKKeyPress() { if (kKeyInterval) { clearInterval(kKeyInterval); kKeyInterval = null; const kKeyUpEvent = new KeyboardEvent('keyup', { key: 'K', code: 'KeyK', keyCode: 75, which: 75, bubbles: true, cancelable: true, }); document.dispatchEvent(kKeyUpEvent); } } document.addEventListener('mousedown', (e) => { if (!featuresEnabled) return; if (e.button === 2) { if (!isRightMousePressed) { isRightMousePressed = true; startKKeyPress(); } } }); document.addEventListener('mouseup', (e) => { if (e.button === 2) { stopKKeyPress(); isRightMousePressed = false; } }); window.addEventListener('load', () => { waitForSettingsDiv(); toggleSeasonalFeatures(seasonalModeEnabled); }); })();