您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
try to take over the world!
// ==UserScript== // @name MTGTop8 to List/JSON // @namespace https://xvicario.us/scripts // @version 0.1.1 // @description try to take over the world! // @author You // @match http://mtgtop8.com/compare // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.1.4/js.cookie.min.js // ==/UserScript== (function() { 'use strict'; const COOKIE_SNOW_LANDS = 'convertSnow'; const controls = '<div class="W10" style="padding:7px">MTGTop8 to List/JSON</div>' + '<div class="W10">' + '<input type="checkbox" id="convertSnow">' + '<label for="convertSnow">Convert Snow Lands to Normal</label>' + '</div>' + '<div class="W10">' + '<a id="generateList" href="#">Generate List</a>' + '</div>'; const $controls = $('<div class="c_box"></div>').html(controls); $controls.css('height', '66px').css('width', '250'); const $table = $('div.page table').first(); const $freeSpace = $table.find('tr td').first(); $freeSpace.next().remove(); $freeSpace.prop('align', 'center'); $freeSpace.prop('colspan', '2'); $freeSpace.append($controls); $(document).on('change', '#convertSnow', function() { Cookies.set(COOKIE_SNOW_LANDS, this.checked); }); $('#convertSnow').prop('checked', Cookies.get(COOKIE_SNOW_LANDS) === 'true'); $(document).on('click', '#generateList', function() { let nth = 0; let cards = []; const basicLands = ['Plains', 'Island', 'Swamp', 'Mountain', 'Forest', 'Wastes']; const snow = 'Snow-Covered'; let log = ''; $('tr').each(function() { if (nth > 8) { let $c2 = $(this).find('div.c2'); if ($c2.text().length) { let number = 0; $(this).find('div.c').each(function() { const newNumber = parseInt($(this).text()); if (newNumber > number) { number = newNumber; } }); let basicName = $c2.text(); if (basicName.includes(snow)) { basicName = basicName.substr(snow.length).trim(); } if (number > 4 && !basicLands.includes(basicName)) { number = 4; } let editedName = basicName; if (Cookies.get(COOKIE_SNOW_LANDS) === 'false' && basicLands.includes(basicName) && $c2.text().includes(snow)) { editedName = snow + ' ' + basicName; } const currentIndex = searchForCard(editedName, cards); if (currentIndex > -1) { // todo: Snow-Covered lands are duplicated because they // aren't in the same row cards[currentIndex][0] += number; if (cards[currentIndex][0] > 4 && !basicLands.includes(basicName)) { cards[currentIndex][0] = 4; } } else { cards.push([number, editedName]); } } } nth++; }); for (let i = 0; i < cards.length; i++) { log += (cards[i][0] + 'x ' + cards[i][1]) + '<br>'; } const myWindow = window.open('about:blank', '', '_blank'); myWindow.document.write(log + '<br><br>' + JSON.stringify(cards)); }); /** * Search for a card name in the multidimensional array * @param {string} name what card you're looking for * @param {array} array array you are looking in * @return {number} the index of the card, or -1 if it is not found */ function searchForCard(name, array) { for (let i = 0; i < array.length; i++) { if (array[i][1] === name) { return i; } } return -1; } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址