// ==UserScript== // @name Throttle POW // @namespace https://diep.io // @version 1.2 // @description Throttles POW to every 10 seconds // @author Binary // @match https://diep.io/* // @grant unsafeWindow // @run-at document-start // @downloadURL none // ==/UserScript== const throttle = 10000; (function() { var originalWS = unsafeWindow.WebSocket; unsafeWindow.WebSocket = function(...args){ var wsobj = new originalWS(...args); wsobj.origsend = wsobj.send; var previousPOWTime = 0; wsobj.send = function(data){ if(data instanceof Int8Array && data[0] === 10) { var datakept = new Int8Array(data); setTimeout(()=>wsobj.origsend(datakept), Math.max(0, (previousPOWTime+throttle)-Date.now())); previousPOWTime = Date.now(); }else{ wsobj.origsend(data); } }; return wsobj; }; })();