// ==UserScript== // @name TrollChess // @namespace http://tampermonkey.net/ // @version 0.1 // @description Pieces periodically get a new theme on chess.com // @author SimpleVar // @match https://www.chess.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=chess.com // @license MIT // @grant none // @downloadURL none // ==/UserScript== (() => { const THEMES = ['neo','wood','8_bit','alpha','bases','book','cases','classic','club','condal','game_room','icy_sea', 'lolz','marble','maya','modern','nature','neo','neo_wood','ocean','space','tournament','vintage','wood']; bazinga() function randItem(arr) { return arr[(Math.random() * arr.length)|0] } function bazinga() { const pieces = document.querySelectorAll('.piece') const p = randItem(pieces) if (!p) { setTimeout(bazinga, 200); return } p.style.backgroundImage = "url('https://images.chesscomfiles.com/chess-themes/pieces/"+ randItem(THEMES)+"/150/"+[...p.classList].find(w => w.length === 2)+".png')" setTimeout(bazinga, ((Math.random() * Math.random()) * 1000 + 50)|0) } })()