Greasy Fork

Greasy Fork is available in English.

英雄联盟 云顶之弈 资料站优化

在 lolalytics.com op.gg lolchess.gg 汉化英雄联盟英雄名称 云顶之弈羁绊名称 对棋子数量进行着色,按平均排名进行排序

当前为 2021-04-21 提交的版本,查看 最新版本

// ==UserScript==
// @name         英雄联盟 云顶之弈 资料站优化
// @description 在 lolalytics.com op.gg lolchess.gg 汉化英雄联盟英雄名称 云顶之弈羁绊名称 对棋子数量进行着色,按平均排名进行排序
// @version      2.2
// @namespace   https://space.bilibili.com/482343
// @author      古海沉舟
// @license     古海沉舟
// @include      **lolalytics.com**
// @include      **lolchess.gg**
// @include      **op.gg**
// @include      *tftactics.gg*
// @require      https://cdn.staticfile.org/jquery/1.12.4/jquery.min.js
// @run-at       document-end
// ==/UserScript==
var a = ["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cost","Winrate","Meta Trends","Item Trends","Item Priority","Items","Mythic","jungle","bottom","middle","Popular","Unpopular","Niche","Broad","Depth (Games per player)","Breadth (How much a champion is picked)","Normalised Champion Ranked Player Base","Passive","Early Items (10min)","Synergy","Bad Synergy","Good Synergy","Common Teammates","Counter","Weak Against","Strong Against","Common Matchups","Solo/Duo","DISCORD","TIER LIST","Grid","Tier","List","Lane","PBI","SUP","BOT","MID","JNG","TOP","MAIN","CHALLENGER","MASTER+","MASTER","Summoner Spells","Starting Items","Core Build","support","DIAMOND+","PLATINUM+","Skill Order","Most Common Build","Highest Win Build","Most Common Runes","Highest Win Runes","Runes","Pro Builds","Counters","Game Length Distribution","Win Rate vs Game Length","Most Picked Rune Page","Highest Win Rune Page","Build, Runes & Counters","Mode","Patch","Ban","Pick","Win","Tier","Name","Icon","Rank","Win Rate","Ranked","ARAM","NEXUS","All Items","Winning Items","Popular Items","Diamond+","Win Rate","Pick Rate","Boots","Item","Games","Time","Level","Build","Highest Win","Most Common","Skill Priority","Primary Runes","Secondary","Stat Mods","Overall","Diamond","Platinum","Gold","Silver","Bronze","Iron","Leaderboard","Overview","top"];
var b = ["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","费用","胜率","版本趋势","物品趋势","物品优先级","物品","神话","打野","下路","中路","流行","冷门","专精","广泛","深度 (每玩家选择数)","广度 (一个英雄被选数)","标准化英雄排位玩家基数","被动","早期物品 (10分钟)","协同","弱势协同","强势协同","常见队友","对抗","劣势对局","优势对局","常见对局","单双排","讨论","等级列表","矩阵","等级","列表","路线","选禁指数","辅","下","中","野","上","主要","王者","大师+","大师","召唤师技能","起始物品","核心物品","辅助","钻石+","白金+","技能顺序","最多选择出装","最高胜率出装","最多选择符文","最高胜率符文","符文","职业出装","克制","游戏时长分布","时长胜率曲线","最多选择符文","最高胜率符文","出装 符文 克制","模式","版本","禁","选","胜","等级","名称","图标","排名","胜率","排位","极地大乱斗","极限闪击","所有物品","胜率物品","常用物品","钻石+","胜率","选取率","鞋子","物品","游戏数","时间","等级","出装","最高胜率","最常用","技能优先级","主要符文","次要","属性加成","全部","钻石","白金","黄金","白银","青铜","黑铁","排行榜","概况","上路"];
var x = ["","","","","","","","","","","","","","","","","","Ivern","Dr. Mundo","Gwen","Viego","Rell","Seraphine","TwistedFate","Samira","Morgana","Lux","Nami","Jinx","Nasus","Ziggs","Soraka","Teemo","Fiora","Vayne","Thresh","Veigar","Sivir","Caitlyn","Maokai","Graves","Xayah","Ashe","Galio","Skarner","Lucian","Miss Fortune","Sona","Annie","Vel'Koz","Yorick","Brand","Jhin","Yasuo","Hecarim","Orianna","Kayle","Yone","Kled","Neeko","Malzahar","Ahri","Xin Zhao","Swain","Senna","Zilean","Heimerdinger","Jax","Cassiopeia","Nautilus","Varus","Poppy","Mordekaiser","Zoe","Kai'Sa","Ekko","Rammus","Kindred","Olaf","Zyra","Trundle","Twitch","Urgot","Aurelion Sol","Sett","Alistar","Janna","Zed","Aatrox","Shaco","Cho'Gath","Darius","Singed","Vladimir","Gnar","Volibear","Karthus","Kassadin","Riven","Shen","Kog'Maw","Diana","Jarvan IV","Vi","Kha'Zix","Sylas","Anivia","Taric","Amumu","Leona","Fizz","Lillia","Syndra","Pantheon","Dr Mundo","Xerath","Viktor","Renekton","Fiddlesticks","Irelia","Malphite","Ezreal","Evelynn","Zac","Warwick","Illaoi","Akali","Lissandra","Rengar","Kayn","Aphelios","Nocturne","Sion","Camille","Master Yi","Ryze","Draven","Tristana","Ornn","Talon","Udyr","Rek'Sai","Taliyah","Rakan","Garen","Tryndamere","Wukong","Gragas","Katarina","Quinn","Tahm Kench","Elise","Jayce","Nunu","Kalista","Pyke","LeBlanc","Twisted Fate","Yuumi","Lulu","Nidalee","Sejuani","Lee Sin","Qiyana","Shyvana","Kennen","Bard","Blitzcrank","Azir","Rumble","Karma","Gangplank","Corki","Braum"];
var y = ["","","","","","","","","","","","","","","","","","翠神","祖安狂人","灵罗娃娃","破败王者","镕铁少女","星籁歌姬","卡牌大师","沙漠玫瑰","堕落天使","光辉女郎","唤潮鲛姬","暴走萝莉","沙漠死神","爆破鬼才","众星之子","迅捷斥候","无双剑姬","暗夜猎手","魂锁典狱长","邪恶小法师","战争女神","皮城女警","扭曲树精","法外狂徒","逆羽","寒冰射手","正义巨像","水晶先锋","圣枪游侠","赏金猎人","琴瑟仙女","黑暗之女","虚空之眼","牧魂人","复仇焰魂","戏命师","疾风剑豪","战争之影","发条魔灵","正义天使","封魔剑魂","暴怒骑士","万花通灵","虚空先知","九尾妖狐","德邦总管","诺克萨斯统领","涤魂圣枪","时光守护者","大发明家","武器大师","魔蛇之拥","深海泰坦","惩戒之箭","圣锤之毅","铁铠冥魂","暮光星灵","虚空之女","时间刺客","披甲龙龟","永猎双子","狂战士","荆棘之兴","巨魔之王","瘟疫之源","无畏战车","铸星龙王","腕豪","牛头酋长","风暴之怒","影流之主","暗裔剑魔","恶魔小丑","虚空恐惧","诺克萨斯之手","炼金术士","猩红收割者","迷失之牙","不灭狂雷","死亡颂唱者","虚空行者","放逐之刃","暮光之眼","深渊巨口","皎月女神","德玛西亚皇子","皮城执法官","虚空掠夺者","解脱者","冰晶凤凰","瓦洛兰之盾","殇之木乃伊","曙光女神","潮汐海灵","含羞蓓蕾","暗黑元首","不屈之枪","祖安狂人","远古巫灵","机械先驱","荒漠屠夫","远古恐惧","刀锋舞者","熔岩巨兽","探险家","痛苦之拥","生化魔人","祖安怒兽","海兽祭司","离群之刺","冰霜女巫","傲之追猎者","影流之镰","残月之肃","永恒梦魇","亡灵战神","青钢影","无极剑圣","符文法师","荣耀行刑官","麦林炮手","山隐之焰","刀锋之影","兽灵行者","虚空遁地兽","岩雀","幻翎","德玛西亚之力","蛮族之王","齐天大圣","酒桶","不祥之刃","德玛西亚之翼","河流之王","蜘蛛女皇","未来守护者","雪原双子","复仇之矛","血港鬼影","诡术妖姬","卡牌大师","魔法猫咪","仙灵女巫","狂野女猎手","北地之怒","盲僧","元素女皇","龙血武姬","狂暴之心","星界游神","蒸汽机器人","沙漠皇帝","机械公敌","天启者","海洋之灾","英勇投弹手","弗雷尔卓德之心"];
var x2=["TwistedFate","Gwen","Viego","Rell","Seraphine","Samira","Yone","Lillia","Sett","Aphelios","Senna","Qiyana","Yuumi","Sylas","Neeko","Pyke","Kai'Sa","Zoe","Ornn","Kayn","Xayah","Rakan","Camille","Ivern","Kled","Taliyah","Aurelion Sol","Jhin","Illaoi","Kindred","Tahm Kench","Ekko","Bard","Rek'Sai","Kalista","Azir","Gnar","Braum","Vel'Koz","Yasuo","Jinx","Lucian","Aatrox","Lissandra","Zac","Quinn","Thresh","Vi","Nami","Zed","Elise","Kha'Zix","Syndra","Rengar","Diana","Zyra","Jayce","Draven","Darius","Varus","Hecarim","Lulu","Fiora","Nautilus","Ziggs","Sejuani","Viktor","Ahri","Volibear","Fizz","Shyvana","Graves","Xerath","Riven","Talon","Skarner","Wukong","Leona","Yorick","Orianna","Vayne","Rumble","Brand","Lee Sin","Nocturne","Jarvan IV","Maokai","Karma","Renekton","Caitlyn","Cassiopeia","Trundle","Irelia","LeBlanc","Lux","Swain","Sona","Miss Fortune","Urgot","Galio","Vladimir","Xin Zhao","Kog'Maw","Olaf","Malzahar","Akali","Garen","Kennen","Shen","Ezreal","Mordekaiser","Gragas","Pantheon","Poppy","Nidalee","Udyr","Heimerdinger","Shaco","Nasus","Katarina","Corki","Dr.Mundo","Malphite","Janna","Blitzcrank","Gangplank","Taric","Kassadin","Veigar","Anivia","Rammus","Amumu","Cho'Gath","Karthus","Twitch","Evelynn","Tryndamere","Zilean","Singed","Morgana","Jax","Sion","Tristana","Warwick","Master Yi","Ryze","Soraka","Nunu","Fiddlesticks","Kayle","Teemo","Sivir","Twisted","Alistar","Ashe","Annie"];
var y2=["崔斯特","格温","佛耶戈","芮尔","萨勒芬妮","莎弥拉","永恩","莉莉娅","瑟提","厄斐琉斯","赛娜","奇亚娜","悠米","塞拉斯","妮蔻","派克","卡莎","佐伊","奥恩","凯隐","霞","洛","卡蜜尔","艾翁","克烈","塔莉垭","奥瑞利安·索尔","烬","俄洛伊","千珏","塔姆","艾克","巴德","雷克塞","卡莉丝塔","阿兹尔","纳尔","布隆","维克兹","亚索","金克丝","卢锡安","亚托克斯","丽桑卓","扎克","奎因","锤石","蔚","娜美","劫","伊莉丝","卡兹克","辛德拉","雷恩加尔","黛安娜","婕拉","杰斯","德莱文","德莱厄斯","韦鲁斯","赫卡里姆","璐璐","菲奥娜","诺提勒斯","吉格斯","瑟庄妮","维克托","阿狸","沃利贝尔","菲兹","希瓦娜","格雷福斯","泽拉斯","锐雯","泰隆","斯卡纳","孙悟空","蕾欧娜","约里克","奥莉安娜","薇恩","兰博","布兰德","李青","魔腾","嘉文四世","茂凯","卡尔玛","雷克顿","凯特琳","卡西奥佩娅","特朗德尔","艾瑞莉娅","乐芙兰","拉克丝","斯维因","娑娜","厄运小姐","厄加特","加里奥","弗拉基米尔","赵信","克格莫","奥拉夫","玛尔扎哈","阿卡丽","盖伦","凯南","慎","伊泽瑞尔","莫德凯撒","古拉加斯","潘森","波比","奈德丽","乌迪尔","黑默丁格","萨科","内瑟斯","卡特琳娜","库奇","蒙多","墨菲特","迦娜","布里茨","普朗克","塔里克","卡萨丁","维迦","艾尼维亚","拉莫斯","阿木木","科加斯","卡尔萨斯","图奇","伊芙琳","泰达米尔","基兰","辛吉德","莫甘娜","贾克斯","赛恩","崔丝塔娜","沃里克","易","瑞兹","索拉卡","努努","费德提克","凯尔","提莫","希维尔","崔斯特","阿利斯塔","艾希","安妮"];
var q = ["","","","","","","View","TOP4%","Avg.","There are no decks using that champion.","Syphoner","Executioner","Dragonsoul","Fabled","Blacksmith","Daredevil","Slayer","Level","Tier","Warlord","Tormented","The Boss","Spirit","Ninja","Moonlight","Fortune","Exile","Enlightened","Elderwood","Dusk","Divine","Cultist","Vanguard","Sharpshooter","Shade","Mystic","Mage","Keeper","Hunter","Emperor","Duelist","Dazzler","Brawler","Assassin","Adept"];
var w = ["","","","","","","查看","前四率","平均排名","此英雄无卡组使用","神使","裁决使","龙魂","山海绘卷","铁匠","主宰","战神","等级","级别","三国猛将","天煞","霸王","灵魂莲华明昼","忍者","月神","福星","浪人","玉剑仙","永恒之森","灵魂莲华夜幽","天神","腥红之月","重装战士","神射手","夜影","秘术师","魔法师","神盾使","猎人","枭雄","决斗大师","耀光使","斗士","刺客","宗师"];
var zz=0;
function conv(str){
     if(!str)return "";
     var ret=str, index, cha,l=str.length;
     for(var i=0;i<a.length;i++){
          if (a[i]!="" && ret.toLowerCase()==a[i].toLowerCase()){
               return b[i];
          }
     }
     if (zz==0) {
          for(i=0;i<x.length;i++){
               if (x[i]!=""){
                    cha =new RegExp("(?<![a-zA-Z])"+x[i]+"(?![a-zA-Z])","gi");
                    ret=ret.replace(cha,y[i]);
               }
          }
     }
     if (zz==1) {
          for(i=0;i<x.length;i++){
               if (x2[i]!=""){
                    cha =new RegExp("(?<![a-zA-Z])"+x2[i]+"(?![a-zA-Z])","gi");
                    ret=ret.replace(cha,y2[i]);
               }
          }
          for(i=0;i<q.length;i++){
               if (q[i]!=""){
                    cha =new RegExp("(?<![a-zA-Z])"+q[i]+"s?(?![a-zA-Z])","gi");
                    ret=ret.replace(cha,w[i]);
               }
          }
     }
     return ret;
}

function handleTextNode(pNode){
     var childs;
     if(pNode){
          childs=pNode.childNodes;
     }else{
          childs=document.documentElement.childNodes;
     }
     if(childs){
          for(var i=0;i<childs.length;i++){
               var child=childs.item(i);
               if(/SCRIPT|HR|TEXTAREA|STYLE/.test(child.tagName))continue;
               if(child.title){
                    let title=conv(child.title);
                    if(child.title != title){
                         child.title=title;
                    }
               }
               if(child.alt){
                    let alt=conv(child.alt);
                    if(child.alt != alt){
                         child.alt=alt;
                    }
               }
               if(child.tagName == "INPUT" && child.value !== "" && child.type != "text" && child.type != "search" && child.type != "hidden"){
                    let value=conv(child.value);
                    if(child.value != value){
                         child.value=value;
                    }
               }else if(child.nodeType == 3){
                    let data=conv(child.data);
                    if(child.data != data){
                         child.data=data;
                    }
               }else handleTextNode(child);
          }
     }
}

const progress = function(){
     if (window.location.href.indexOf("lolchess.gg")>-1) {  color(); zz=1; }
     handleTextNode();
     var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
     var observer = new MutationObserver(function(records){
          records.map(function(record) {
               if(record.addedNodes){
                    [].forEach.call(record.addedNodes,function(item){
                         handleTextNode(item);
                    });
               }
          });
     });
     var option = {
          'childList': true,
          'subtree': true
     };
     observer.observe(document.body, option);
}
window.addEventListener('load', progress, false);
function color(){ //对棋子数量进行着色,按平均排名进行排序
     let wdstyle = document.createElement('style');
     wdstyle.innerHTML = `div[class="unit unit--cost--5"] div[class="unit__image has-tooltip"],div[class|="unit unit--cost-5"] img,.tft-champion.cost-5{border: 3px solid #ff8e00 !important;}
div[class="unit unit--cost--4"] div[class="unit__image has-tooltip"],div[class|="unit unit--cost-4"] img,.tft-champion.cost-4{border: 3px solid #b500ae !important;}
div[class="unit unit--cost--3"] div[class="unit__image has-tooltip"],div[class|="unit unit--cost-3"] img,.tft-champion.cost-3{border: 3px solid #30c9ff !important;}
div[class="unit unit--cost--2"] div[class="unit__image has-tooltip"],div[class|="unit unit--cost-2"] img,.tft-champion.cost-2{border: 3px solid #2cbf4c !important;}
div[class="unit unit--cost--1"] div[class="unit__image has-tooltip"],div[class|="unit unit--cost-1"] img,.tft-champion.cost-1{border: 3px solid #aaa !important;}`;
     var co=new Array("#222","#222","#222","#222","#222","#222","#063c2d","#3c0635","#163544","#151515","#000");
     var fl,fv,x,i,j,k;
     var sz=new Array();
     fv=new Array();
     sz.push("0");
     function swap(a,b){
          var n = a.next(), p = b.prev();
          b.insertBefore(n);
          a.insertAfter(p);
     };
     fl=document.querySelectorAll("#decks > div > section > div.col-12.col-xl-9 > div > div > div.deck__stats > dl:nth-child(3) > dd > span");
     $(fl).each(function () {
          x=$(this).text().split("#")[1];
          sz.push(x);
          //console.log(sz);
     });
     fl=document.querySelectorAll("#decks > div > section > div.col-12.col-xl-9 > div");
     $(fl).each(function () {
          fv.push($(this).html());
     });
     for (i=1;i<sz.length-1;i++){
          for (j=i+1;j<sz.length;j++){
               if (sz[i]>sz[j]){
                    x=fv[i];               fv[i]=fv[j];               fv[j]=x;
                    x=sz[i];               sz[i]=sz[j];               sz[j]=x;
               }
          }
     }
     fl=document.querySelectorAll("#decks > div > section > div.col-12.col-xl-9 > div");
     for (i=1;i<fv.length;i++)fl[i].innerHTML=fv[i];

     fl=document.querySelectorAll("#decks > div > section > div.col-12.col-xl-9 > div > div > div.deck__units");
     $(fl).each(function () {
          x=$(this).children("div").length;
          $(this).parent().parent().css("background",co[x])
     });

     fl=document.querySelectorAll("#decks > div > section > div.col-12.col-xl-9 > div > div > div.deck__units > div > div.unit__image.has-tooltip > img");
     $(fl).each(function () {
          x=$(this).attr("alt");
          $(this).parent().attr("title",x);
     });
     fl=document.querySelectorAll("#decks > div > section > div.col-12.col-xl-9 > div > div > div.deck__units > div > div.unit__item > img")
     $(fl).each(function () {
          x=$(this).attr("alt");
          $(this).attr("title",x);
     });
     fl=document.querySelectorAll("#decks > div > section > div.col-12.col-xl-9 > div > footer > div > ul > li > div > img");
     $(fl).each(function () {
          x=$(this).attr("alt");
          $(this).attr("title",x);
     });
     document.body.appendChild(wdstyle);
}