// ==UserScript== // @name Mystical Particle Effect // @namespace http://tampermonkey.net/ // @version 1.0 // @description Adds a mystical custom spooky effect // @author ______Spooky______ // @match https://vaughn.live/* // @grant none // @require https://cdn.jsdelivr.net/npm/particles.js@2.0.0/particles.min.js // ==/UserScript== (function() { 'use strict'; // Create a container for particles const particleContainer = document.createElement('div'); particleContainer.id = 'mystical-particles'; particleContainer.style.position = 'fixed'; particleContainer.style.top = '0'; particleContainer.style.left = '0'; particleContainer.style.width = '100%'; particleContainer.style.height = '100%'; particleContainer.style.zIndex = '9999'; particleContainer.style.pointerEvents = 'none'; document.body.appendChild(particleContainer); // Flag to track if particles are active let particlesActive = false; // Initialize particles with mystical settings function initParticles() { particlesJS('mystical-particles', { particles: { number: { value: 80, density: { enable: true, value_area: 800 } }, color: { value: ['#4a00e0', '#8e2de2', '#00c6ff'] }, shape: { type: 'circle', stroke: { width: 0, color: '#000000' } }, opacity: { value: 0.5, random: true, anim: { enable: true, speed: 1, opacity_min: 0.1, sync: false } }, size: { value: 3, random: true, anim: { enable: true, speed: 2, size_min: 0.1, sync: false } }, line_linked: { enable: true, distance: 150, color: '#ffffff', opacity: 0.4, width: 1 }, move: { enable: true, speed: 2, direction: 'none', random: true, straight: false, out_mode: 'out', bounce: false } }, interactivity: { detect_on: 'canvas', events: { onhover: { enable: true, mode: 'repulse' }, onclick: { enable: true, mode: 'push' }, resize: true }, modes: { repulse: { distance: 100, duration: 0.4 }, push: { particles_nb: 4 } } }, retina_detect: true }); } // Toggle particles on Ctrl+M document.addEventListener('keydown', function(event) { if (event.ctrlKey && event.key === 'm') { if (!particlesActive) { particleContainer.style.display = 'block'; initParticles(); particlesActive = true; } else { particleContainer.style.display = 'none'; particlesActive = false; } } }); })();