ShellShock.io Full Flex Mode

Fake GanG hat + background + killfeed mod for ShellShock.io menus and flex | Not server bypass!

// ==UserScript==
// @name         ShellShock.io Full Flex Mode
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Fake GanG hat + background + killfeed mod for ShellShock.io menus and flex | Not server bypass!
// @author       YourNameHere
// @match        *://shellshock.io/*
// @license      MIT
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Step 1: Modify localStorage immediately (before page finishes loading)
    let data = JSON.parse(localStorage.getItem('shellshock'));
    if (data) {
        data.hat = "gang";   // force fake GanG hat
        data.stamp = "gang"; // force fake GanG stamp
        localStorage.setItem('shellshock', JSON.stringify(data));
        console.log("✅ LocalStorage modified with fake GanG hat and stamp.");

        if (!sessionStorage.getItem('alreadyReloaded')) {
            console.log("🔄 First run detected, reloading page to apply fake items...");
            sessionStorage.setItem('alreadyReloaded', 'true');
            setTimeout(() => {
                location.reload();
            }, 500); // slight delay to set properly before reload
        }
    } else {
        console.warn("⚠️ No ShellShock localStorage found (maybe a guest player?). Cannot modify.");
    }

    // Step 2: After reload, inject custom styles and killfeed mods
    window.addEventListener('load', () => {
        console.log("✅ ShellShock.io fully loaded. Applying custom styles and killfeed mod.");

        // Inject Custom Background + UI
        const css = `
            body {
                background: url("https://chat.openai.com/mnt/data/b066146c-10ab-49e4-adfb-28edddc6c0fa.png") no-repeat center center fixed !important;
                background-size: cover !important;
                color: #ffffff !important;
            }
            .navbar, .footer, .inventory, .menu {
                background-color: rgba(0, 0, 0, 0.6) !important;
                border-radius: 12px;
                color: white !important;
            }
            .button, .btn-primary {
                background-color: #8b0000 !important;
                color: #fff !important;
                border-radius: 8px;
            }
            .scope-freeranger, .scope-crackshot {
                border: 4px solid #8b0000 !important;
                background-color: rgba(0, 0, 0, 0.85) !important;
                box-shadow: 0 0 12px #8b0000;
            }
            .scope-freeranger::before, .scope-crackshot::before {
                content: '';
                position: absolute;
                top: 50%;
                left: 50%;
                width: 2px;
                height: 100%;
                background: #8b0000;
                transform: translate(-50%, -50%);
            }
            .scope-freeranger::after, .scope-crackshot::after {
                content: '';
                position: absolute;
                top: 50%;
                left: 50%;
                width: 100%;
                height: 2px;
                background: #8b0000;
                transform: translate(-50%, -50%);
            }
        `;
        const style = document.createElement('style');
        style.textContent = css;
        document.head.appendChild(style);

        // Killfeed Modifier
        const observer = new MutationObserver(mutations => {
            for (const mutation of mutations) {
                for (const node of mutation.addedNodes) {
                    if (node.nodeType === 1 && node.innerText && node.innerText.includes("You killed")) {
                        node.innerText = node.innerText.replace("You killed", "You just shit on");
                    }
                }
            }
        });
        observer.observe(document.body, { childList: true, subtree: true });

        // Reset reload protection after full load
        sessionStorage.removeItem('alreadyReloaded');
    });

})();