咕咕镇屏幕适配,等级换算

添加直接根据品质计算实际等级,默认不对宽度做更改,需要请手动调节代码的开关

目前為 2020-11-11 提交的版本,檢視 最新版本

// ==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);
});*/