Greasy Fork is available in English.
添加直接根据品质计算实际等级,默认不对宽度做更改,需要请手动调节代码的开关
当前为
// ==UserScript==
// @name 咕咕镇屏幕适配,等级换算
// @namespace http://tampermonkey.net/
// @version 3.0.1
// @description 添加直接根据品质计算实际等级,默认不对宽度做更改,需要请手动调节代码的开关
// @author aotmd
// @match https://www.guguzhen.com/*
// @grant none
// ==/UserScript==
var setting={
保留小数位:1,
保留原等级:false,
适配屏幕:false,
相对浏览器宽度:70,//当适配屏幕为true时生效,单位为%
};
//等级换算,o:原等级,q:品质
function fixrank(o,q){
const BIT=setting.保留小数位;
var point=(6+o*3)*(1+q/100);
var rank=((point-6)/3).toFixed(BIT);
return rank;
}
setInterval(() => {
const ORIGINAL=setting.保留原等级;
var str = /fyg_equip\.php/i;
if (str.test(window.location.href)) {
var i=document.getElementsByClassName("text-info fyg_f24")[0]
.getElementsByClassName("pull-right")[0];
if (i.getAttribute("style") == null) {
var url = document.getElementsByClassName("text-info fyg_tr")[0];
var array = url.innerText.match(/\d+/g);
var maxRank = fixrank(array[1],array[0]);
url.innerText+=" 相当于"+maxRank+"级";
var nowRank=fixrank(i.innerText.match(/\d+/g)[0],array[0]);
if (ORIGINAL) {
i.innerText+="("+nowRank+" 级)";
} else {
i.innerText=nowRank+" 级";
}
i.style="flag: 1;";
}
var otherCard=document.getElementsByTagName("h4");
if (otherCard.length!=0&&otherCard[0].getAttribute("style")==null){
for (var j = 0; j < otherCard.length; j++) {
var temp=otherCard[j].innerHTML;
var reg=new RegExp(/(\d+)( \/ )(\d+)(<br>.+\| )(\d+)/);
otherCard[j].innerHTML=temp.replace(reg,function(){
var args=arguments;
var nowRank=args[1];
var maxRank=args[3];
var quality=args[5];
var nowRank2=fixrank(nowRank,quality);
var maxRank2=fixrank(maxRank,quality);
var line=nowRank2+" / "+maxRank2;
var result;
if (ORIGINAL) {
result=args[1]+args[2]+args[3]+"<br>Lv."+line+args[4]+args[5];
} else{
result=line+args[4]+args[5];
}
return result;
});
otherCard[j].style="flag: 1;";
}
}
}
}, 1000);
function addStyle(rules) {
var styleElement = document.createElement('style');
styleElement.type = 'text/css';
document.getElementsByTagName('head')[0].appendChild(styleElement);
styleElement.appendChild(document.createTextNode(rules));
}
if(setting.适配屏幕){
addStyle(`
div[style='width:1200px;margin: 0 auto;'] {
width: `+setting.相对浏览器宽度+`%!important;
}
.btn {
vertical-align: sub!important;
}
.bg-danger[style="max-width: 250px; white-space: pre-line; word-break: break-all;"]{
max-width: 200px!important;
}
.fyg_pvedt{
height: AUTO!important;
}
`);
}
/*addStyle(`
#pkcall,#closeresult {
border: none;
color: white;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 10px;
margin: 4px 10px;
width: 100px;
border-radius: 15px;
-webkit-transition-duration: 0.4s;
transition-duration: 0.4s;
cursor: pointer;
background-color: white;
color: black;
border: 2px solid #4CAF50;
}
#pkcall:hover,#closeresult:hover {
background-color: #4CAF50;
color: white;
}
div#result {
line-height: 1;
padding: 10px;
padding-bottom: 50px;
border: 2px solid transparent;
border-color: #9d15f3;
width: 100px;
text-align: center;
margin: 10px;
border-radius: 10px;
transition-duration: 1s;
}
div#result:hover {
background-color: #2ae23894;
border-color: #ffffff00;
}
`);*/
/*var b= document.getElementsByClassName("panel panel-primary")[0];
b.innerHTML = "<button id='pkcall'>导出怪兽数据</button>" + b.innerHTML;
var jsjfunction=function () {
var pk = document.getElementsByClassName("btn dropdown-toggle fyg_lh40");
var s = "<div id='result'>";
for (var i = 0; i < 10; ++i) {
var temp = pk[i].innerText.trim();
var name = temp.slice(-1);
var lv = temp.slice(temp.indexOf("Lv") + 2, temp.lastIndexOf(" "));
switch (name) {
case "人": name = "MU"; break;
case "蛛": name = "ZHU"; break;
case "灵": name = "DENG"; break;
case "兽": name = "SHOU"; break;
default : alert("erreo");
}
var parameter=name+" "+lv;
for (var j = 0; j <= 3; j++) {
s += "<div>" + parameter +" "+j+ "</div>";
}
}
s += "</div>";
b.innerHTML = s+"<button id='closeresult'>清除怪兽数据</button>" + b.innerHTML;
$("#pkcall").remove();
$("#closeresult").click(function(){
b.innerHTML = "<button id='pkcall'>导出怪兽数据</button>" + b.innerHTML;
$("#pkcall").click(jsjfunction);
$("#result").remove();
$("#closeresult").remove();
});
};
$(document).ready(function() {
$("#pkcall").click(jsjfunction);
});*/