您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Full British/Cockney immersive Zed.City: 200+ interjections, 🫖 logo, menus, tooltips, blue background, white text
// ==UserScript== // @name British Zed.City Ultra Immersion + Teapot Emoji // @namespace http://tampermonkey.net/ // @version 4.1 // @description Full British/Cockney immersive Zed.City: 200+ interjections, 🫖 logo, menus, tooltips, blue background, white text // @match *://zed.city/* // @match *://www.zed.city/* // @grant none // ==/UserScript== (function() { 'use strict'; // === Word swaps === const customWordSwaps = { "Stronghold": "Gaff", "Faction": "Gang", "Inventory": "Briefcase", "Explore": "Mooching", "Beer": "Newkie Brown", "Vodka": "Glens", "Zedbull": "White Lightning" }; // === 200+ British/Cockney interjections === const britishInterjections = [ "Blimey!","Oi!","Cor blimey!","Guv'nor!","Oi mate!","Blimey guv'nor!","Crikey!","Ta!","By Jove!","Top hole!", "Cheerio!","Fancy a cuppa?","Bloody hell!","Gobsmacked!","Codswallop!","Bollocks!","Bugger!","Tosh!","Wotcha!","Luvly jubbly!", "Horses' arses!","Jammy sod!","Naff!","Ruddy hell!","Stone the crows!","Bob's your uncle!","Righto!","Sod off!","Gadzooks!","Barmy!", "Knackered!","Lorry!","Blighter!","Dodgy!","Faffing about!","Chuffed!","Brolly!","Plonker!","Waffle!","Fiddle-faddle!", "Cheeky!","Crumpet!","Pip pip!","Skive!","Gormless!","Miffed!","Shambles!","Hunky-dory!","Dosh!","Nutter!", "Twerp!","Grouse!","Beefy!","Bung!","Yonks!","Twit!","Doddle!","Rubbish!","Gob!","Kip!", "Bangers!","Pukka!","Chuffed to bits!","Codger!","Dingbat!","Flog!","Jammy!","Lad!","Lush!","Mug!", "Nicked!","Owt!","Punter!","Quid!","Scrummy!","Snookered!","Sprog!","Squiffy!","Tickety-boo!","Toshy!", "Wazzock!","Yon!","Zonked!","Gander!","Tally-ho!","Whinge!","Woop!","Zounds!","Bellyache!","Plonk!", "Barmy!","Daft!","Naff off!","Piffle!","Ruddy!","Sussed!","Cod!","Fiddlesticks!","Balderdash!","Knockout!", "Rabble!","Snog!","Tosh!","Budge up!","Cobblers!","Dosh!","Fiddle-dee-dee!","Gobsmacked!","Lolly!","Piff!","Jolly good!","Guv!","Blighter!","Crikey Moses!","By gum!","Gadzooks!","Lushious!","Bunging!","Barmy nancy!","Codswalloping!","Dodgy geezer!","Wotcher!","Cack-handed!","Knacker!","Rumpus!","Higgledy-piggledy!","Jammy git!","Miffed as a lark!","Nobby!","Plonking about!","Rumpy-pumpy!","Skint!","Twaddle!","Bungler!","Faff about!","Toshy tosh!","Wally!","Yonks of fun!","Zany!","Blinding!","Chinwag!","Daft as a brush!","Gob!","Hobnob!","Jammy dodger!","Knock-kneed!","Lumpy!","Mugwump!","Nincompoop!","Piffle-paffle!","Quaint!","Roughshod!","Sodden!","Tick-tock!","Uffish!","Vexed!","Wheedle!","Yabber!","Zig-zag!","Boffin!","Clapped out!","Dodgy blighter!","Fandango!","Guv'nor's orders!","Hogwash!","Jiggery-pokery!","Knees-up!","Ludicrous!","Mumbo-jumbo!","Naffed off!","Old chap!","Poppycock!","Quid pro quo!","Rabble-rouser!","Skedaddle!","Topsy-turvy!","Whopper!","Yokel!","Zippy!" ]; function applyCustomWordSwaps(text) { for (const [original, replacement] of Object.entries(customWordSwaps)) { const regex = new RegExp(`\\b${original}\\b`, 'gi'); text = text.replace(regex, match => match[0] === match[0].toUpperCase() ? replacement.charAt(0).toUpperCase() + replacement.slice(1) : replacement ); } return text; } function getBritishInterjection() { return britishInterjections[Math.floor(Math.random() * britishInterjections.length)]; } function translateNode(node) { if (!node._britishTranslated) { let text = applyCustomWordSwaps(node.nodeValue); if (Math.random() < 0.25) text += " " + getBritishInterjection(); node.nodeValue = text; node._britishTranslated = true; } } function walkAndTranslate(root) { const walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, null, false); let node; while (node = walker.nextNode()) { if (!node.nodeValue.trim()) continue; translateNode(node); } } // === Logo replacement with teapot emoji === function replaceLogo() { const logo = document.querySelector('img[src*="zed.city"]'); if (logo && !logo._britishReplaced) { logo.style.width = '48px'; logo.style.height = '48px'; logo.src = ''; // remove src logo.alt = '🫖'; logo.innerText = '🫖'; // fallback for broken img logo._britishReplaced = true; } } // === Red/white/blue UI styling with blue background and white text === function applyUIStyling() { document.body.style.fontFamily = 'Georgia, Times, serif'; document.body.style.backgroundColor = '#0000ff'; // blue background document.body.style.color = '#ffffff'; // white text // Buttons document.querySelectorAll('button, input[type="button"], input[type="submit"]').forEach(btn => { btn.style.backgroundColor = '#ff0000'; // red btn.style.color = '#ffffff'; btn.style.borderRadius = '5px'; btn.title = "Oi! Click me, gov'nor!"; }); // Links document.querySelectorAll('a').forEach(link => { link.style.color = '#ffffff'; // white links link.title = "Have a butcher's!"; }); // Menus, modals document.querySelectorAll('.menu, .modal').forEach(el => { el.style.backgroundColor = '#0000ff'; el.style.border = '2px solid #ff0000'; el.style.color = '#ffffff'; }); } // === Initial execution === walkAndTranslate(document.body); replaceLogo(); applyUIStyling(); // === Observe dynamic content === const observer = new MutationObserver(mutations => { mutations.forEach(m => { m.addedNodes.forEach(n => { if (n.nodeType === Node.TEXT_NODE) translateNode(n); else if (n.nodeType === Node.ELEMENT_NODE) { walkAndTranslate(n); replaceLogo(); applyUIStyling(); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })();