您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Gugu Town IconPack.
当前为
- // ==UserScript==
- // @name Gugu Town IconPack
- // @namespace https://github.com/HazukiKaguya/GuguTown_IconPack/
- // @homepage https://github.com/HazukiKaguya
- // @version 0.2.1
- // @description Gugu Town IconPack.
- // @icon https://sticker.inari.site/favicon.ico
- // @author Hazuki Kaguya
- // @copyright 2022- Hazukikaguya
- // @include https://www.guguzhen.com/*
- // @run-at document-end
- // @license MIT License
- // @require https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js
- // ==/UserScript==
- /**
- * default settings
- */
- 'use strict';
- this.$ = this.jQuery = jQuery.noConflict(true);
- const defaultConf={"useOldNames":false,"iconPack":"classic","iconSize":"50px"};
- let useOldNamesCheck ='',custom = defaultConf,userIcons={},timeout = null,nowIcons;
- if (localStorage.IconPackConf) { custom = JSON.parse(localStorage.IconPackConf) }
- else {localStorage.setItem('IconPackConf', JSON.stringify(defaultConf)); }
- if (custom.useOldNames == true) { useOldNamesCheck = 'checked' }
- const classicIcons={
- "url":"https://sticker.inari.site/guguicons/old/",
- "ext":".gif",
- "dessert":["apple","grape","cherry"],
- "i0":["反叛者的刺杀弓 z2105_.gif","bow_"],
- "i1":["狂信者的荣誉之刃 z2104_.gif","knife_"],
- "i2":["陨铁重剑 z2109_.gif","sword_"],
- "i3":["幽梦匕首 z2106_.gif","knife_"],
- "i4":["荆棘盾剑 z2108_.gif","sword_"],
- "i5":["饮血魔剑 z2110_.gif","sword_"],
- "o5":["饮血长枪","spear_"],
- "i6":["光辉法杖 z2107_.gif","staff_"],
- "i7":["探险者短弓 z2102_.gif","bow_"],
- "i8":["探险者短杖 z2103_.gif","staff_"],
- "i9":["探险者之剑 z2101_.gif)","sword_"],
- "i10":["命师的传承手环 z2202_.gif","bracelet_"],
- "i11":["秃鹫手环 z2203_.gif","bracelet_"],
- "o11":["秃鹫手套","gloves_"],
- "i12":["探险者手环 z2201_.gif","bracelet_"],
- "o12":["探险者手套","gloves_"],
- "i13":["旅法师的灵光袍 z2304_.gif","gown_"],
- "i14":["挑战斗篷 z2307_.gif","clothes_"],
- "i15":["战线支撑者的荆棘重甲 z2305_.gif","armour_"],
- "i16":["复苏战衣 z2306_.gif","gown_"],
- "i17":["探险者铁甲 z2301_.gif","armour_"],
- "i18":["探险者皮甲 z2302_.gif","clothes_"],
- "i19":["探险者布甲 z2303_.gif","clothes_"],
- "i20":["萌爪耳钉 z2403_.gif","neko_"],
- "o20":["天使缎带","swirl_"],
- "i21":["占星师的耳饰 z2402_.gif","earring_"],
- "o21":["占星师的发饰","swirl_"],
- "i22":["探险者耳环 z2401_.gif","earring_"],
- "o22":["探险者头巾","swirl_"]}
- ,pcrIcons={
- "url":"https://sticker.inari.site/guguicons/pcr/",
- "ext":".gif",
- "dessert":["pie","donuts","cake"],
- "i0":["反叛者的刺杀弓","%E5%8F%8D%E5%8F%9B%E8%80%85%E7%9A%84%E5%88%BA%E6%9D%80%E5%BC%93"],
- "i1":["狂信者的荣誉之刃","%E7%8B%82%E4%BF%A1%E8%80%85%E7%9A%84%E8%8D%A3%E8%AA%89%E4%B9%8B%E5%88%83"],
- "i2":["陨铁重剑","%E9%99%A8%E9%93%81%E9%87%8D%E5%89%91"],
- "i3":["幽梦匕首","%E5%B9%BD%E6%A2%A6%E5%8C%95%E9%A6%96"],
- "i4":["荆棘盾剑","%E8%8D%86%E6%A3%98%E7%9B%BE%E5%89%91"],
- "i5":["饮血魔剑","%E9%A5%AE%E8%A1%80%E9%AD%94%E5%89%91"],
- "o5":["饮血长枪","%E9%A5%AE%E8%A1%80%E9%95%BF%E6%9E%AA"],
- "i6":["光辉法杖","%E5%85%89%E8%BE%89%E6%B3%95%E6%9D%96"],
- "i7":["探险者短弓","%E6%8E%A2%E9%99%A9%E8%80%85%E7%9F%AD%E5%BC%93"],
- "i8":["探险者短杖","%E6%8E%A2%E9%99%A9%E8%80%85%E7%9F%AD%E6%9D%96"],
- "i9":["探险者之剑","%E6%8E%A2%E9%99%A9%E8%80%85%E4%B9%8B%E5%89%91"],
- "i10":["命师的传承手环","%E5%91%BD%E5%B8%88%E7%9A%84%E4%BC%A0%E6%89%BF%E6%89%8B%E7%8E%AF"],
- "i11":["秃鹫手环","%E7%A7%83%E9%B9%AB%E6%89%8B%E7%8E%AF"],
- "o11":["秃鹫手套","%E7%A7%83%E9%B9%AB%E6%89%8B%E5%A5%97"],
- "i12":["探险者手环","%E6%8E%A2%E9%99%A9%E8%80%85%E6%89%8B%E7%8E%AF"],
- "o12":["探险者手套","%E6%8E%A2%E9%99%A9%E8%80%85%E6%89%8B%E5%A5%97"],
- "i13":["旅法师的灵光袍","%E6%97%85%E6%B3%95%E5%B8%88%E7%9A%84%E7%81%B5%E5%85%89%E8%A2%8D"],
- "i14":["挑战斗篷","%E6%8C%91%E6%88%98%E6%96%97%E7%AF%B7"],
- "i15":["战线支撑者的荆棘重甲","%E6%88%98%E5%9C%BA%E6%94%AF%E6%92%91%E8%80%85%E7%9A%84%E8%8D%86%E6%A3%98%E9%87%8D%E7%94%B2"],
- "i16":["复苏战衣","%E5%A4%8D%E8%8B%8F%E6%88%98%E8%A1%A3"],
- "i17":["探险者铁甲","%E6%8E%A2%E9%99%A9%E8%80%85%E9%93%81%E7%94%B2"],
- "i18":["探险者皮甲","%E6%8E%A2%E9%99%A9%E8%80%85%E7%9A%AE%E7%94%B2"],
- "i19":["探险者布甲","%E6%8E%A2%E9%99%A9%E8%80%85%E5%B8%83%E7%94%B2"],
- "i20":["萌爪耳钉","%E8%90%8C%E7%88%AA%E8%80%B3%E9%92%89"],
- "o20":["天使缎带","%E5%A4%A9%E4%BD%BF%E7%BC%8E%E5%B8%A6"],
- "i21":["占星师的耳饰","%E5%8D%A0%E6%98%9F%E8%80%85%E7%9A%84%E8%80%B3%E9%A5%B0"],
- "o21":["占星师的发饰","%E5%8D%A0%E6%98%9F%E8%80%85%E7%9A%84%E5%8F%91%E9%A5%B0"],
- "i22":["探险者耳环","%E6%8E%A2%E9%99%A9%E8%80%85%E8%80%B3%E7%8E%AF"],
- "o22":["探险者头巾","%E6%8E%A2%E9%99%A9%E8%80%85%E5%A4%B4%E5%B7%BE"]},iconsize=custom.iconSize;
- if (localStorage.userIcons){ userIcons = JSON.parse(localStorage.userIcons)}
- /**
- * main functions
- */
- $(`<p><input type="button" class="iconpack-icons" value="选择主题"> <input type="button" class="iconpack-usr" value="输入自定义主题"></p>
- <p><input type="button" class="iconpack-size" value="图标大小"> <input type="checkbox" class="iconpack-switch" value="useOldNames" ${useOldNamesCheck}>切换旧装备名</p>`).insertAfter($("#userd"));
- $(".iconpack-icons").click(function(){
- if (confirm("按【确定】选择主题包,按【取消】恢复默认主题包。")) {
- let IconPack = prompt('输入1使用【公主链接R主题包】;输入2使用【自定义主题包】;\n输入0不启用主题更改;输入其他使用【旧版风格主题包】。', "1");
- if (IconPack) {
- if(IconPack=="1"){ console.log('pcr');custom.iconPack="pcr"; localStorage.setItem('IconPackConf', JSON.stringify(custom));location.reload();}
- else if(IconPack=="2"){ console.log('user');custom.iconPack="user"; localStorage.setItem('IconPackConf', JSON.stringify(custom));location.reload();}
- else if(IconPack=="0"){ console.log('off');custom.iconPack="off"; localStorage.setItem('IconPackConf', JSON.stringify(custom));location.reload();}
- else{ console.log('classic');custom.iconPack="classic"; localStorage.setItem('IconPackConf', JSON.stringify(custom));location.reload();}
- }
- }else{ if(confirm("按【确定】恢复默认主题包,按【取消】则不操作。")){ console.log('classic');custom.iconPack="classic"; localStorage.setItem('IconPackConf', JSON.stringify(custom));location.reload();}}
- });
- $(".iconpack-size").click(function(){
- let IconSize = prompt('请输入图标大小,格式应为32-128间的数字+px\n示例:50px', "50px");
- if (IconSize) { custom.iconSize = IconSize; localStorage.setItem('IconPackConf', JSON.stringify(custom));location.reload();}
- else{ custom.iconSize = '50px'; localStorage.setItem('IconPackConf', JSON.stringify(custom));location.reload();}
- });
- $(".iconpack-usr").click(function(){
- let userIcon = prompt('请输入自定义主题包的json数据,\n请访问默认显示的url,以查看完整的json格式。', "https://kf.miaola.work/read.php?tid=809121&sf=141&page=21");
- if (userIcon) { console.log(userIcon); userIcons=JSON.parse(userIcon); localStorage.setItem('userIcons', userIcon);}
- });
- $(".iconpack-switch").click(function(e){ custom.useOldNames = e.target.checked; localStorage.setItem('IconPackConf', JSON.stringify(custom));location.reload();});
- function listener(){console.log("listener fired.");repfunc();}
- document.addEventListener("DOMSubtreeModified", function() { if(timeout) {clearTimeout(timeout);} timeout = setTimeout(listener, 50);}, false);
- function repfunc(){
- if(custom.iconPack=="classic"){ nowIcons=classicIcons;}
- else if(custom.iconPack=="pcr"){ nowIcons=pcrIcons;}
- else if(custom.iconPack=="off"){ return;}
- else if(custom.iconPack=="user"){
- if(userIcons.i19){nowIcons=userIcons;}
- else{ console.log("自定义主题包数据异常,没有主题包启用!"); return;}
- }
- let ext=nowIcons.ext,url=nowIcons.url,dessert=nowIcons.dessert,i0=nowIcons.i0,i1=nowIcons.i1,i2=nowIcons.i2,i3=nowIcons.i3,i4=nowIcons.i4,i5=nowIcons.i5,i6=nowIcons.i6,i7=nowIcons.i7,i8=nowIcons.i8,i9=nowIcons.i9,i10=nowIcons.i10,
- i11=nowIcons.i11,i12=nowIcons.i12,i13=nowIcons.i13,i14=nowIcons.i14,i15=nowIcons.i15,i16=nowIcons.i16,i17=nowIcons.i17,i18=nowIcons.i18,i19=nowIcons.i19,i20=nowIcons.i20,i21=nowIcons.i21,i22=nowIcons.i22;
- if(custom.useOldNames==true){
- i5=nowIcons.o5;i11=nowIcons.o11;i12=nowIcons.o12;i20=nowIcons.o20;i21=nowIcons.o21;i22=nowIcons.o22;
- $("button[data-original-title*='荆棘盾剑']").attr("data-original-title",function(n,v){ n= v.replace(/荆棘盾剑/g, "荆棘剑盾");return n;});
- $("button[data-original-title*='饮血魔剑']").attr("data-original-title",function(n,v){ n= v.replace(/饮血魔剑/g, "饮血长枪");return n;});
- $("button[data-original-title*='探险者手环']").attr("data-original-title",function(n,v){ n= v.replace(/探险者手环/g, "探险者手套");return n;});
- $("button[data-original-title*='秃鹫手环']").attr("data-original-title",function(n,v){ n= v.replace(/秃鹫手环/g, "秃鹫手套");return n;});
- $("button[data-original-title*='复苏战衣']").attr("data-original-title",function(n,v){ n= v.replace(/复苏战衣/g, "复苏木甲");return n;});
- $("button[data-original-title*='探险者耳环']").attr("data-original-title",function(n,v){ n= v.replace(/探险者耳环/g, "探险者头巾");return n;});
- $("button[data-original-title*='占星师的耳饰']").attr("data-original-title",function(n,v){ n= v.replace(/占星师的耳饰/g, "占星师的发饰");return n;});
- $("button[data-original-title*='萌爪耳钉']").attr("data-original-title",function(n,v){ n= v.replace(/萌爪耳钉/g, "天使缎带");return n;});
- }
- if(ext!=".gif"){ $("button[style*='ys/icon/z/z2']").attr("style",function(n,v){ n= v.replace(/.gif/g, ext);return n;});}
- if(custom.iconPack=="pcr"){
- $("button[data-original-title*='稀有苹果护身符']").attr("data-original-title",function(n,v){ n= v.replace(/稀有苹果护身符/g, "家常的苹果派");return n;});
- $("button[data-original-title*='史诗苹果护身符']").attr("data-original-title",function(n,v){ n= v.replace(/史诗苹果护身符/g, "美味的苹果派");return n;});
- $("button[data-original-title*='传奇苹果护身符']").attr("data-original-title",function(n,v){ n= v.replace(/传奇苹果护身符/g, "诱人的苹果派");return n;});
- $("button[data-original-title*='稀有葡萄护身符']").attr("data-original-title",function(n,v){ n= v.replace(/稀有葡萄护身符/g, "家常的甜甜圈");return n;});
- $("button[data-original-title*='史诗葡萄护身符']").attr("data-original-title",function(n,v){ n= v.replace(/史诗葡萄护身符/g, "美味的甜甜圈");return n;});
- $("button[data-original-title*='传奇葡萄护身符']").attr("data-original-title",function(n,v){ n= v.replace(/传奇葡萄护身符/g, "诱人的甜甜圈");return n;});
- $("button[data-original-title*='稀有樱桃护身符']").attr("data-original-title",function(n,v){ n= v.replace(/稀有樱桃护身符/g, "家常的樱桃蛋糕");return n;});
- $("button[data-original-title*='史诗樱桃护身符']").attr("data-original-title",function(n,v){ n= v.replace(/史诗樱桃护身符/g, "美味的樱桃蛋糕");return n;});
- $("button[data-original-title*='传奇樱桃护身符']").attr("data-original-title",function(n,v){ n= v.replace(/传奇樱桃护身符/g, "诱人的樱桃蛋糕");return n;});
- }
- $("button[style*='z2105_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2105_/g, url+i0[1]);return n;});
- $("button[style*='z2104_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2104_/g, url+i1[1]);return n;});
- $("button[style*='z2109_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2109_/g, url+i2[1]);return n;});
- $("button[style*='z2106_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2106_/g, url+i3[1]);return n;});
- $("button[style*='z2108_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2108_/g, url+i4[1]);return n;});
- $("button[style*='z2110_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2110_/g, url+i5[1]);return n;});
- $("button[style*='z2107_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2107_/g, url+i6[1]);return n;});
- $("button[style*='z2102_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2102_/g, url+i7[1]);return n;});
- $("button[style*='z2103_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2103_/g, url+i8[1]);return n;});
- $("button[style*='z2101_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2101_/g, url+i9[1]);return n;});
- $("button[style*='z2202_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2202_/g, url+i10[1]);return n;});
- $("button[style*='z2203_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2203_/g, url+i11[1]);return n;});
- $("button[style*='z2201_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2201_/g, url+i12[1]);return n;});
- $("button[style*='z2304_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2304_/g, url+i13[1]);return n;});
- $("button[style*='z2307_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2307_/g, url+i14[1]);return n;});
- $("button[style*='z2305_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2305_/g, url+i15[1]);return n;});
- $("button[style*='z2306_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2306_/g, url+i16[1]);return n;});
- $("button[style*='z2301_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2301_/g, url+i17[1]);return n;});
- $("button[style*='z2302_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2302_/g, url+i18[1]);return n;});
- $("button[style*='z2303_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2303_/g, url+i19[1]);return n;});
- $("button[style*='z2403_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2403_/g, url+i20[1]);return n;});
- $("button[style*='z2402_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2402_/g, url+i21[1]);return n;});
- $("button[style*='z2401_']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z\/z2401_/g, url+i22[1]);return n;});
- $("button[style*='z903.gif']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z903/g, url+dessert[0]);return n;});
- $("button[style*='z902.gif']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z902/g, url+dessert[1]);return n;});
- $("button[style*='z901.gif']").attr("style",function(n,v){ n= v.replace(/ys\/icon\/z901/g, url+dessert[2]);return n;});
- $(".fyg_tc>img[src*='z2105_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2105_/g, url+i0[1]);return n;});
- $(".fyg_tc>img[src*='z2104_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2104_/g, url+i1[1]);return n;});
- $(".fyg_tc>img[src*='z2109_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2109_/g, url+i2[1]);return n;});
- $(".fyg_tc>img[src*='z2106_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2106_/g, url+i3[1]);return n;});
- $(".fyg_tc>img[src*='z2108_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2108_/g, url+i4[1]);return n;});
- $(".fyg_tc>img[src*='z2110_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2110_/g, url+i5[1]);return n;});
- $(".fyg_tc>img[src*='z2107_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2107_/g, url+i6[1]);return n;});
- $(".fyg_tc>img[src*='z2102_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2102_/g, url+i7[1]);return n;});
- $(".fyg_tc>img[src*='z2103_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2103_/g, url+i8[1]);return n;});
- $(".fyg_tc>img[src*='z2101_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2101_/g, url+i9[1]);return n;});
- $(".fyg_tc>img[src*='z2202_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2202_/g, url+i10[1]);return n;});
- $(".fyg_tc>img[src*='z2203_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2203_/g, url+i11[1]);return n;});
- $(".fyg_tc>img[src*='z2201_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2201_/g, url+i12[1]);return n;});
- $(".fyg_tc>img[src*='z2304_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2304_/g, url+i13[1]);return n;});
- $(".fyg_tc>img[src*='z2307_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2307_/g, url+i14[1]);return n;});
- $(".fyg_tc>img[src*='z2305_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2305_/g, url+i15[1]);return n;});
- $(".fyg_tc>img[src*='z2306_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2306_/g, url+i16[1]);return n;});
- $(".fyg_tc>img[src*='z2301_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2301_/g, url+i17[1]);return n;});
- $(".fyg_tc>img[src*='z2302_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2302_/g, url+i18[1]);return n;});
- $(".fyg_tc>img[src*='z2303_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2303_/g, url+i19[1]);return n;});
- $(".fyg_tc>img[src*='z2403_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2403_/g, url+i20[1]);return n;});
- $(".fyg_tc>img[src*='z2402_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2402_/g, url+i21[1]);return n;});
- $(".fyg_tc>img[src*='z2401_']").attr("src",function(n,v){ n= v.replace(/ys\/icon\/z\/z2401_/g, url+i22[1]);return n;});
- }
- /**
- * add CSS
- */
- $('head').append(`<style>
- .btn.fyg_mp3 { width: ${iconsize} !important; height: ${iconsize} !important; background-size:100% 100%;line-height: ${Math.floor(parseInt(iconsize)*3/5)}px; }
- .btn.fyg_colpzbg.fyg_mp3 { width: ${iconsize} !important; height: ${iconsize} !important; background-size:100% 100%;}
- .img-rounded { width: 50px; height:50px;}
- .btn.fyg_colpzbg.fyg_tc { width: 60px !important; height: 100px !important;line-height:25px;}
- </style>`);
- if(custom.iconPack=="pcr"){
- $('head').append(`<style>
- [data-trigger=hover] {background-blend-mode: normal !important; }
- </style>`);}