Throttle POW v2

Throttles POW to every 10 seconds

  1. // ==UserScript==
  2. // @name Throttle POW v2
  3. // @namespace https://diep.io
  4. // @version 2.0
  5. // @description Throttles POW to every 10 seconds
  6. // @author Binary
  7. // @match https://diep.io/*
  8. // @grant unsafeWindow
  9. // @run-at document-start
  10. // ==/UserScript==
  11.  
  12. const throttle = 10000;
  13. (function() {
  14. var originalWorker = unsafeWindow.Worker;
  15. unsafeWindow.Worker = function(...args){
  16. var worker = new originalWorker(...args);
  17. var originalPostMessage = worker.postMessage;
  18. var previousPOWTime = 0;
  19. worker.postMessage = function(...args){
  20. setTimeout(()=>{
  21. originalPostMessage.apply(worker, args);
  22. previousPOWTime = Date.now();
  23. }, Math.max(0, previousPOWTime + throttle - Date.now()));
  24. };
  25. return worker;
  26. };
  27. })();