您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Check the score of MixBots!
当前为
// ==UserScript== // @name MixMob MixBots Score // @license MIT // @namespace http://tampermonkey.net/ // @version 0.4 // @description Check the score of MixBots! // @author ercalote // @match https://magiceden.io/* // @match https://www.magiceden.io/* // @icon https://www.google.com/s2/favicons?domain=magiceden.io // @grant GM_log // @require http://code.jquery.com/jquery-latest.js // ==/UserScript== function findParentWithDataIndex(element) { if (!element) return null; if (element.getAttribute('data-index') !== null) { return element; } return findParentWithDataIndex(element.parentElement); } function createParagraph(text, score) { var paragraph = document.createElement('p'); paragraph.textContent = text + ': ' + score; return paragraph; } (function() { 'use strict'; let addedDivs = new Set(); var injectedExtraTraits = false; var minAcceleration = 4; var minMaxSpeed = 4; var minDurability = 4; var minWillpower = 4; var styles = ` table.tw-w-full tr { height: 9rem; } ` var styleSheet = document.createElement("style") styleSheet.innerText = styles document.head.appendChild(styleSheet) function addDivAfterImage(image) { var parentDivWithDataIndex = findParentWithDataIndex(image); var slug = (image.src.match(/SLUG/g) || []).length; var huntr = (image.src.match(/HUNTR/g) || []).length; var grnt = (image.src.match(/GRNT/g) || []).length; var wzrd = (image.src.match(/WZRD/g) || []).length; var lzrd = (image.src.match(/LZRD/g) || []).length; var fink = (image.src.match(/FINK/g) || []).length; var kng = (image.src.match(/KNG/g) || []).length; var mnstr = (image.src.match(/MNSTR/g) || []).length; var unique = (image.src.match(/Unique/g) || []).length; var glitch = (image.src.match(/Glitch/g) || []).length; var metal = (image.src.match(/Metal/g) || []).length; var synth = (image.src.match(/Synth/g) || []).length; var og = (image.src.match(/OG/g) || []).length; var odd = (image.src.match(/Odd/g) || []).length; var mixscore = unique * 10 + glitch * 10 + metal * 7 + synth * 5 + og * 2 + odd * 2; var acceleration = 10 - slug + huntr + fink - kng; var max_speed = 10 + slug - wzrd + lzrd - fink; var durability = 10 - huntr + grnt + kng - mnstr; var willpower = 10 - grnt + wzrd - lzrd + mnstr; if (!addedDivs.has(image)) { var factionMatch = image.src.match(/mixbots\/(.*?)_/); var faction = factionMatch ? factionMatch[1] : null; if (!parentDivWithDataIndex) { parentDivWithDataIndex = image.parentElement.parentElement.parentElement.parentElement; } if (parentDivWithDataIndex) { var firstChildDiv = parentDivWithDataIndex.firstElementChild; if (firstChildDiv) { var newDiv = document.createElement('div'); newDiv.appendChild(createParagraph('Faction', faction)); newDiv.appendChild(createParagraph('Acceleration', acceleration)); newDiv.appendChild(createParagraph('MaxSpeed', max_speed)); newDiv.appendChild(createParagraph('Durability', durability)); newDiv.appendChild(createParagraph('Willpower', willpower)); newDiv.appendChild(createParagraph('MixScore', mixscore)); firstChildDiv.lastElementChild.appendChild(newDiv); } } addedDivs.add(image); } if (acceleration < minAcceleration || max_speed < minMaxSpeed || durability < minDurability || willpower < minWillpower) { $(parentDivWithDataIndex).hide(); } else { $(parentDivWithDataIndex).show(); } } function processImages() { if (!injectedExtraTraits) { var acceleration = $( '<div>' + '<select id="minAcceleration" name="minAcceleration" style="margin-right:10px;">' + '<option value="4" selected>4</option>' + '<option value="5">5</option>' + '<option value="6">6</option>' + '<option value="7">7</option>' + '<option value="8">8</option>' + '<option value="9">9</option>' + '<option value="10">10</option>' + '<option value="11">11</option>' + '<option value="12">12</option>' + '<option value="13">13</option>' + '<option value="14">14</option>' + '<option value="15">15</option>' + '<option value="16">16</option>' + '</select><label for="minAcceleration">Min. Acceleration</label></div>' ); var maxspeed = $( '<div>' + '<select id="minMaxSpeed" name="minMaxSpeed" style="margin-right:10px;">' + '<option value="4" selected>4</option>' + '<option value="5">5</option>' + '<option value="6">6</option>' + '<option value="7">7</option>' + '<option value="8">8</option>' + '<option value="9">9</option>' + '<option value="10">10</option>' + '<option value="11">11</option>' + '<option value="12">12</option>' + '<option value="13">13</option>' + '<option value="14">14</option>' + '<option value="15">15</option>' + '<option value="16">16</option>' + '</select><label for="minAcceleration">Min. MaxSpeed</label></div>' ); var durability = $( '<div>' + '<select id="minDurability" name="minDurability" style="margin-right:10px;">' + '<option value="4" selected>4</option>' + '<option value="5">5</option>' + '<option value="6">6</option>' + '<option value="7">7</option>' + '<option value="8">8</option>' + '<option value="9">9</option>' + '<option value="10">10</option>' + '<option value="11">11</option>' + '<option value="12">12</option>' + '<option value="13">13</option>' + '<option value="14">14</option>' + '<option value="15">15</option>' + '<option value="16">16</option>' + '</select><label for="minDurability">Min. Durability:</label></div>' ); var willpower = $( '<div>' + '<select id="minWillpower" name="minWillpower" style="margin-right:10px;">' + '<option value="4" selected>4</option>' + '<option value="5">5</option>' + '<option value="6">6</option>' + '<option value="7">7</option>' + '<option value="8">8</option>' + '<option value="9">9</option>' + '<option value="10">10</option>' + '<option value="11">11</option>' + '<option value="12">12</option>' + '<option value="13">13</option>' + '<option value="14">14</option>' + '<option value="15">15</option>' + '<option value="16">16</option>' + '</select><label for="minWillpower">Min. Willpower:</label></div>' ); if ($("div[id*='panel-traits']").length > 0) { $("div[id*='panel-traits']").first().parent().before(acceleration); $("div[id*='panel-traits']").first().parent().before(maxspeed); $("div[id*='panel-traits']").first().parent().before(durability); $("div[id*='panel-traits']").first().parent().before(willpower); $(document).on('change', '#minAcceleration', function() { minAcceleration = $(this).val(); }); $(document).on('change', '#minMaxSpeed', function() { minMaxSpeed = $(this).val(); }); $(document).on('change', '#minDurability', function() { minDurability = $(this).val(); }); $(document).on('change', '#minWillpower', function() { minWillpower = $(this).val(); }); injectedExtraTraits = true; } } const images = document.querySelectorAll('img'); for (var i = 0; i < images.length; i++) { if (images[i].src.includes('mixbot')) { addDivAfterImage(images[i]); } } } setInterval(processImages, 200); })();