IdlePixel Sigil Randomizer

Randomizes sigil after every message

Verze ze dne 21. 02. 2023. Zobrazit nejnovější verzi.

// ==UserScript==
// @name         IdlePixel Sigil Randomizer
// @namespace    lbtechnology.info
// @version      1.0.0
// @description  Randomizes sigil after every message
// @author       Lux-Ferre
// @license      MIT
// @match        *://idle-pixel.com/login/play*
// @grant        none
// @require      https://greatest.deepsurf.us/scripts/441206-idlepixel/code/IdlePixel+.js?anticache=20220905
// ==/UserScript==
 
(function() {
    'use strict';
 
    let sigilList = []
    let username = ""

    function randInt(max) {
        return Math.floor(Math.random() * max);
    }
 
    class SigilPlugin extends IdlePixelPlusPlugin {
        constructor() {
            super("sigils", {
                about: {
                    name: GM_info.script.name,
                    version: GM_info.script.version,
                    author: GM_info.script.author,
                    description: GM_info.script.description
                }
            });
            this.previous = "";
        }
  
        onChat(data) {
            if (data.username === username){
                IdlePixelPlus.sendMessage('CHAT_SIGIL=' + sigilList[randInt(sigilList.length)])
            }
        }
 
        onMessageReceived(data){
            if(data.startsWith("SET_ITEMS=")){
                if (username===""){
                    const split = data.substring("SET_ITEMS=".length).split("~");
                    username = split[split.indexOf("username")+1]
                    split.forEach(element => {
                        if (element.endsWith("sigil") && element !== "chat_sigil"){
                            sigilList.push(element)
                        }
                    })
                }
            }
        }
    }
 
    const plugin = new SigilPlugin();
    IdlePixelPlus.registerPlugin(plugin);
 
})();