Vanis Fixed Mouse Hold

allows you to fixed mouse hold on vanis.io

// ==UserScript==
// @name         Vanis Fixed Mouse Hold
// @namespace    http://tampermonkey.net/
// @version      0.0.1
// @author       Big watermelon
// @description  allows you to fixed mouse hold on vanis.io
// @match        https://vanis.io
// @license      MIT
// @grant        unsafeWindow
// @run-at       document-start
// ==/UserScript==

const hotkey = "e";

var currentMouse = { x: 0, y: 0 };
var lastMouse = false;
Object.defineProperties(MouseEvent.prototype, {
    clientX: {
        get: function() {
            return lastMouse?.x || this.x;
        }
    },
    clientY: {
        get: function() {
            return lastMouse?.y || this.y;
        }
    }
});
unsafeWindow.addEventListener("mousemove", ({ x, y }) => {
    if (lastMouse === true) lastMouse = { x, y };
    currentMouse = { x, y };
});
unsafeWindow.addEventListener("keydown", event => {
    if (!lastMouse && event.key === hotkey) lastMouse = true;
});
unsafeWindow.addEventListener("keyup", event => {
    if (lastMouse && event.key === hotkey) lastMouse = false;
});