Full visual chaos + rare system event overlay (cosmetic only)
/// ==UserScript==
// @name Nitro Type Hard Mode
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Full visual chaos + rare system event overlay (cosmetic only)
// @author surprise
// @match https://www.nitrotype.com/*
// @grant none
// ==/UserScript==
(function () {
'use strict';
const isRace = window.location.href.includes("/race");
// ================= STYLE =================
const style = document.createElement("style");
style.innerHTML = `
/* SHAKE */
@keyframes shake {
0% { transform: translate(0,0); }
25% { transform: translate(1px,-1px); }
50% { transform: translate(-1px,1px); }
75% { transform: translate(1px,1px); }
100% { transform: translate(0,0); }
}
.shake-mode {
animation: shake 0.15s infinite;
}
/* WORD FLIP */
.flip-hardmode {
transform: rotate(180deg) !important;
display: inline-block !important;
}
/* RAIN */
.rain-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 999998;
background: repeating-linear-gradient(
180deg,
rgba(255,255,255,0.04),
rgba(255,255,255,0.04) 2px,
transparent 2px,
transparent 6px
);
animation: rainMove 0.25s linear infinite;
}
@keyframes rainMove {
from { transform: translateY(0); }
to { transform: translateY(20px); }
}
/* DOOM OVERLAY */
.doom-overlay {
position: fixed;
top: 12%;
left: 50%;
transform: translateX(-50%);
z-index: 999999;
pointer-events: none;
font-family: monospace;
text-align: center;
color: rgba(255, 60, 60, 0.95);
text-shadow: 0 0 12px rgba(255,0,0,0.6);
opacity: 0;
transition: opacity 0.4s ease;
}
.doom-overlay.show {
opacity: 1;
}
.doom-box {
border: 2px solid rgba(255, 60, 60, 0.85);
padding: 16px 26px;
background: rgba(0, 0, 0, 0.78);
border-radius: 10px;
min-width: 340px;
}
.doom-title {
font-size: 18px;
letter-spacing: 2px;
margin-bottom: 8px;
}
.doom-sub {
font-size: 12px;
opacity: 0.75;
margin-bottom: 10px;
}
.doom-bar {
height: 6px;
background: rgba(255, 0, 0, 0.2);
margin: 6px 0;
position: relative;
overflow: hidden;
}
.doom-bar::after {
content: "";
position: absolute;
width: 40%;
height: 100%;
background: rgba(255, 0, 0, 0.85);
animation: moveBar 1s infinite alternate;
}
@keyframes moveBar {
from { left: 0; }
to { left: 60%; }
}
.doom-warning {
font-size: 13px;
margin-top: 10px;
letter-spacing: 1px;
}
`;
document.head.appendChild(style);
// ================= RAIN =================
const rain = document.createElement("div");
rain.className = "rain-overlay";
document.body.appendChild(rain);
// ================= SHAKE =================
setInterval(() => {
document.body.classList.toggle("shake-mode");
}, 700);
// ================= HUE SHIFT =================
setInterval(() => {
document.body.style.filter = `hue-rotate(${Math.random() * 360}deg)`;
setTimeout(() => document.body.style.filter = "", 500);
}, 3000);
// ================= EMOJIS =================
function spawnEmoji() {
const emojis = ["💀", "⚡", "🔥", "🚗", "😵", "🏁", "💨"];
const el = document.createElement("div");
el.textContent = emojis[Math.floor(Math.random() * emojis.length)];
el.style.position = "fixed";
el.style.left = Math.random() * window.innerWidth + "px";
el.style.top = Math.random() * window.innerHeight + "px";
el.style.fontSize = "28px";
el.style.zIndex = "999999";
el.style.pointerEvents = "none";
el.style.opacity = "0.85";
document.body.appendChild(el);
setTimeout(() => el.remove(), 1500);
}
setInterval(spawnEmoji, 2000);
// ================= WORD FLIP (25%) =================
function getWords() {
return document.querySelectorAll('[class*="word"], [class*="Word"], span');
}
function maybeFlipWords() {
if (!isRace) return;
const words = getWords();
if (!words.length) return;
if (Math.random() < 0.25) {
words.forEach(w => w.classList.add("flip-hardmode"));
setTimeout(() => {
words.forEach(w => w.classList.remove("flip-hardmode"));
}, 900 + Math.random() * 1000);
}
}
setInterval(maybeFlipWords, 2500);
// ================= DOOM EVENT (RARE) =================
const doom = document.createElement("div");
doom.className = "doom-overlay";
doom.innerHTML = `
<div class="doom-box">
<div class="doom-title">SYSTEM EVENT</div>
<div class="doom-sub">UNSTABLE RACE ENVIRONMENT DETECTED</div>
<div class="doom-bar"></div>
<div class="doom-bar"></div>
<div class="doom-bar"></div>
<div class="doom-warning">>> HARD MODE ACTIVE <<</div>
</div>
`;
document.body.appendChild(doom);
function triggerDoom() {
if (!isRace) return;
// rare scare moment
if (Math.random() < 0.06) { // ~6% chance
doom.classList.add("show");
setTimeout(() => {
doom.classList.remove("show");
}, 3000 + Math.random() * 2000);
}
}
setInterval(triggerDoom, 5000);
})();