From 9e7e5eba2c11612369fec260a89eaaeeb6bfd7f6 Mon Sep 17 00:00:00 2001 From: Tipx-L <138244655+Tipx-L@users.noreply.github.com> Date: Wed, 20 Sep 2023 02:38:09 -0700 Subject: [PATCH 1/5] Optimize ui.click.charactercard alongside all related code. --- character/diy.js | 2 +- character/sp.js | 50 +- character/sp2.js | 3 + character/tw.js | 48 ++ character/xianding.js | 2 +- game/game.js | 270 +++++-- layout/default/menu.css | 1601 +++++++++++++++++++++++++-------------- 7 files changed, 1259 insertions(+), 717 deletions(-) diff --git a/character/diy.js b/character/diy.js index 6aee4ad77..c997b5a45 100755 --- a/character/diy.js +++ b/character/diy.js @@ -19199,7 +19199,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 雾岛佳乃:['Kirishima','Kano'], 苍井绘梨花:['Aoi','Erika'], 藏里见:['Kura','Satomi'], - 喵呜·喵呼:['Myau','Mya-fu'], + '喵呜·喵呼':['Myau','Mya-fu'], 喵呜喵呼:['Myau','Mya-fu'], 伊吹风子:['Ibuki','Fuuko'], 久岛鸥:['Kushima','Kamome'], diff --git a/character/sp.js b/character/sp.js index 521bdb11a..90e62fffd 100755 --- a/character/sp.js +++ b/character/sp.js @@ -192,9 +192,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xizhicai:['male','wei',3,['tiandu','xianfu','chouce']], quyi:['male','qun',4,['fuqi','jiaozi']], - luzhi:['male','wei',3,['qingzhong','weijing']], - - //kaisa:["male","western",4,["zhengfu"]], + luzhi:['male','wei',3,['qingzhong','weijing']] }, characterIntro:{ caoxi:'曹羲(?-249年),字昭叔。曹真之子,曹爽之弟。为人有学识,明律法。司马懿曾组织朝议改革九品中正制废除九品而留中正,曹羲认为此举并无区别,最终都是决定于人的人治。曹爽掌权后,受封中领军,掌握禁兵,封安乡侯。曹爽及诸兄弟轻视司马懿,恣意妄为,经常外出狩猎,曹羲屡次劝谏,不被采纳。249年,司马懿发动高平陵政变,被夷三族。', @@ -12907,47 +12905,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, }, - //英文版特典武将凯撒 - zhengfu:{ - trigger:{ - player:"useCardToPlayered", - }, - check:function (event,player){ - return get.attitude(player,event.target)<0; - }, - filter:function(event,player){ - return event.card.name=='sha'; - }, - logTarget:"target", - line:false, - content:function (){ - 'step 0' - player.line(trigger.target,{color:[220, 90, 139]}); - player.chooseControl(['basic','trick','equip']).set('ai',function(){ - var player=_status.event.target; - if(!player.countCards('h','sha')&&player.countCards('h','shan')) return 'trick'; - return 'basic'; - }).set('prompt','请选择一种牌的类别').set('target',trigger.target); - 'step 1' - trigger.target.chooseCard('he','交给'+get.translation(player)+'一张'+get.translation(result.control)+'牌,否则此【杀】不可被闪避。',function(card){ - return get.type(card,'trick')==result.control; - }).set('ai',function(card){ - var num=_status.event.num; - if(num==0) return 0; - if(card.name=='shan') return num>1?2:0; - return 8-get.value(card); - }).set('num',trigger.target.countCards('h','shan')) - 'step 2' - if(result.bool){ - var cards=result.cards; - trigger.target.give(cards,player); - } - else{ - trigger.getParent().directHit.add(trigger.target); - game.delay(); - } - }, - }, //变权移植 wanwei:{ trigger:{target:['rewriteGainResult','rewriteDiscardResult']}, @@ -24141,7 +24098,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ lvfan:'吕范', liqueguosi:'李傕郭汜', cuimao:'崔琰毛玠', - kaisa:"凯撒", caoying:"曹婴", @@ -24211,8 +24167,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "zhenwei_three_info":"锁定技,敌方角色至己方其他角色的距离+1。", "huanshi_three":"缓释", "huanshi_three_info":"一名友方角色的判定牌生效前,你可打出一张牌代替之。", - zhengfu:"征服", - "zhengfu_info":"当你使用【杀】指定目标时,你可以选择一种牌的类别,然后除非目标角色交给你一种该类别的牌,否则其不能闪避此【杀】。", yizan:"翊赞", yizan_info:"你可以将两张牌(其中至少一张是基本牌)当任意基本牌牌使用", @@ -25141,6 +25095,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sp_guozhan2:"国战移植", sp_others:"其他", sp_waitforsort:'等待分包', - }, + } }; }); diff --git a/character/sp2.js b/character/sp2.js index a73de5d08..fec3c335a 100644 --- a/character/sp2.js +++ b/character/sp2.js @@ -10523,5 +10523,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sp_danqi:'千里单骑', sp_decade:'其他新服武将', }, + pinyins:{ + 卑弥呼:['Himiko'] + } }; }); diff --git a/character/tw.js b/character/tw.js index 1e8e80656..606ca0d69 100644 --- a/character/tw.js +++ b/character/tw.js @@ -13956,6 +13956,47 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, }, + //英文版特典武将凯撒 + zhengfu:{ + trigger:{ + player:"useCardToPlayered", + }, + check:function (event,player){ + return get.attitude(player,event.target)<0; + }, + filter:function(event,player){ + return event.card.name=='sha'; + }, + logTarget:"target", + line:false, + content:function(){ + 'step 0' + player.line(trigger.target,{color:[220, 90, 139]}); + player.chooseControl(['basic','trick','equip']).set('ai',function(){ + var player=_status.event.target; + if(!player.countCards('h','sha')&&player.countCards('h','shan')) return 'trick'; + return 'basic'; + }).set('prompt','请选择一种牌的类别').set('target',trigger.target); + 'step 1' + trigger.target.chooseCard('he','交给'+get.translation(player)+'一张'+get.translation(result.control)+'牌,否则此【杀】不可被闪避。',function(card){ + return get.type(card,'trick')==_status.event.getParent().result.control; + }).set('ai',function(card){ + var num=_status.event.num; + if(num==0) return 0; + if(card.name=='shan') return num>1?2:0; + return 8-get.value(card); + }).set('num',trigger.target.countCards('h','shan')) + 'step 2' + if(result.bool){ + var cards=result.cards; + trigger.target.give(cards,player); + } + else{ + trigger.getParent().directHit.add(trigger.target); + game.delay(); + } + } + } }, perfectPair:{ tw_liufuren:['yuanshao'], @@ -14516,6 +14557,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twquanqian_info:'昂扬技。出牌阶段限一次,你可以将至多四张花色各不相同的手牌交给一名其他角色,然后若你交出的牌数大于1,则你从牌堆中获得一张装备牌,然后选择一项:①将手牌数摸至与其相同;②观看其手牌并获得其一种花色的所有牌。
激昂:你弃置六张手牌。', twrouke:'柔克', twrouke_info:'锁定技。当你于摸牌阶段外得到超过一张牌时,你摸一张牌。', + kaisa:"凯撒", + zhengfu:"征服", + zhengfu_info:"当你使用【杀】指定目标时,你可以选择一种牌的类别,然后除非目标角色交给你一种该类别的牌,否则其不能闪避此【杀】。", tw_mobile:'海外服·稀有专属', tw_yunchouzhi:'运筹帷幄·智', @@ -14529,6 +14573,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ tw_mobile2:'海外服·异构', tw_yijiang:'一将成名TW', tw_english:'英文版', + }, + pinyins:{ + 凯撒:['Caesar'], + 难升米:['Nashime'] } }; }); diff --git a/character/xianding.js b/character/xianding.js index c76af4b5b..897d03d13 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -11557,7 +11557,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhouyi:'周夷,游卡桌游旗下产品《三国杀》自行杜撰的人物。设定为周瑜的妹妹,和周瑜一同征战。', caojinyu:'金乡公主,本姓曹氏,名字不详,沛国谯县(今安徽省亳州市)人。魏武帝曹操的女儿,母为杜夫人。适婚的时候,嫁给曹操的养子何晏。高平陵之变,何晏作为大将军曹爽的党羽,遭到太傅司马懿处死。在何晏母亲尹夫人苦苦哀求下,何晏的儿子得以保全。', wufan:'吴范(?-226年),字文则,会稽上虞(今浙江绍兴上虞区)人。三国时期孙吴官员,擅长术数。与刘惇、赵达、严武、曹不兴、皇象、宋寿和郑妪合称“吴中八绝”。吴范以推算天象节气和观察气候闻名于郡中。孙权起于东南,他委身事奉,每推算灾祥多应验,遂显名。孙权委以骑都尉,领太史令。初,孙权为将军时,他曾说江南有王气。及孙权立为吴王,论功行封,欲以为都亭侯,但因不愿将其术要诀告知孙权,为权所怨恨,被除名。黄武中,病死。', - caomao:'曹髦(241年11月15日-260年6月2日)[1],字彦士,沛国谯县(今安徽省亳州市)人,魏文帝曹丕之孙,东海王曹霖之子,曹魏第四位皇帝(254年11月1日-260年6月2日)。正始二年(241年),生于东海王宫,自幼聪明好学,才慧早成,正始五年(244年),封为高贵乡公,嘉平六年(254年),大将军司马师废除齐王曹芳后,拥立为帝,年号正元,曹髦文才武略,崇拜少康,不满司马氏专权秉政,甘露五年(260年),亲自讨伐司马昭,为太子舍人成济所弑,年仅十九岁,以王礼葬于洛阳西北。曹髦擅长诗文,创制了九言诗,传世文章有《伤魂赋并序》《颜子论》等。爱好儒学,亲赴太学论道,著有《春秋左氏传音》(失传)。精通绘画,一说为中国第一位成为画家的皇帝,唐张彦远《历代名画记》目曹髦为中品。', + caomao:'曹髦(241年11月15日-260年6月2日),字彦士,沛国谯县(今安徽省亳州市)人,魏文帝曹丕之孙,东海王曹霖之子,曹魏第四位皇帝(254年11月1日-260年6月2日)。正始二年(241年),生于东海王宫,自幼聪明好学,才慧早成,正始五年(244年),封为高贵乡公,嘉平六年(254年),大将军司马师废除齐王曹芳后,拥立为帝,年号正元,曹髦文才武略,崇拜少康,不满司马氏专权秉政,甘露五年(260年),亲自讨伐司马昭,为太子舍人成济所弑,年仅十九岁,以王礼葬于洛阳西北。曹髦擅长诗文,创制了九言诗,传世文章有《伤魂赋并序》《颜子论》等。爱好儒学,亲赴太学论道,著有《春秋左氏传音》(失传)。精通绘画,一说为中国第一位成为画家的皇帝,唐张彦远《历代名画记》目曹髦为中品。', laiyinger:'来莺儿,是个传说中的人物,正史及古代典籍并无记载。相传来莺儿是东汉歌妓,建安年间洛阳名妓,后爱上曹操的侍卫王图,王图因延误军机而押赴刑场,当时来莺儿奋不顾身以己命换王图一死。新编古装潮剧《曹营恋歌》,秦腔《雀台歌女》讲述了歌女来莺儿与情人王图及曹操三人之间催人泪下的故事。', caohua:'曹华,东汉末年人物,曹操之女,为汉献帝妃嫔。建安十八年(213年),曹操进为魏公,把曹宪、曹节、曹华三个女儿,一齐都送给汉献帝刘协做了妃子,皆封为夫人,聘以束帛五万匹,年龄尚小者在魏公国待年长而聘。', zhaoang:'赵昂,字伟章(一作伟璋),天水冀人。汉末时曹操部下。初为羌道令,建安中转参军事徒居州治冀城。建安十八年,马超围冀城多天,城中饥困,凉州刺史韦康不愿百姓再受苦而打算投降,赵昂进劝但不为所纳。后马超背信弃义杀韦康并劫其子赵月为人质,把他送至南郑。欲以此要迫使赵昂为己所用。后与梁宽、赵衢、庞恭、杨阜等结谋为康报仇,并举兵讨伐马超。马超兵败遂弃城,投奔张鲁。得张鲁之援后马超于建安十九年复寇,赵昂与妻子王异坚守祁山三十天至夏侯渊的救兵解围,其子赵月终为马超斩杀。自冀城之难,至于祁山,赵昂出九奇策。', diff --git a/game/game.js b/game/game.js index 5feb33e50..913b67f07 100644 --- a/game/game.js +++ b/game/game.js @@ -255,13 +255,22 @@ lib.groupnature[id]=id; } } + if(typeof config.image=='string') Object.defineProperty(lib.card,`group_${id}`,{ + configurable:true, + enumerable:false, + writable:true, + value:{ + fullskin:true, + image:config.image + } + }); }], }, hookmap:{}, imported:{}, layoutfixed:['chess','tafang','stone'], pinyins:{ - metadata:{ + _metadata:{ shengmu:['zh','ch','sh','b','p','m','f','d','t','l','n','g','k','h','j','q','x','r','z','c','s','y','w'], special_shengmu:['j','q','x','y'], feijiemu:{ @@ -39638,28 +39647,30 @@ } return node; }, - putDB:function(type,id,item,callback){ + putDB:function(type,id,item,onsuccess,onerror){ if(!lib.db) return item; if(lib.status.reload){ lib[_status.dburgent?'ondb2':'ondb'].push(['putDB',Array.from(arguments)]); return; } lib.status.reload++; - lib.db.transaction([type],'readwrite').objectStore(type).put(item,id).onsuccess=function(){ - if(callback){ + const record=lib.db.transaction([type],'readwrite').objectStore(type).put(item,id); + record.onsuccess=function(){ + if(onsuccess){ _status.dburgent=true; - callback.apply(this,arguments); + onsuccess.apply(this,arguments); delete _status.dburgent; } game.reload2(); }; + if(typeof onerror=='function') record.onerror=onerror; }, - getDB:function(type,id,callback){ + getDB:function(type,id,onsuccess,onerror){ if(!lib.db){ - if(callback) callback(null); + if(onsuccess) onsuccess(null); return; } - if(!callback) return; + if(!onsuccess) return; if(lib.status.reload){ lib[_status.dburgent?'ondb2':'ondb'].push(['getDB',Array.from(arguments)]); return; @@ -39667,31 +39678,34 @@ lib.status.reload++; const store=lib.db.transaction([type],'readwrite').objectStore(type); if(id){ - store.get(id).onsuccess=e=>{ + const record=store.get(id); + record.onsuccess=e=>{ _status.dburgent=true; - callback(e.target.result); + onsuccess(e.target.result); delete _status.dburgent; game.reload2(); }; + if(typeof onerror=='function') record.onerror=onerror; return; } - const obj={}; - store.openCursor().onsuccess=e=>{ - const cursor=e.target.result; - if(cursor){ - obj[cursor.key]=cursor.value; - cursor.continue(); + const cursor=store.openCursor(),obj={}; + cursor.onsuccess=e=>{ + const result=e.target.result; + if(result){ + obj[result.key]=result.value; + result.continue(); return; } _status.dburgent=true; - callback(obj); + onsuccess(obj); delete _status.dburgent; game.reload2(); - } + }; + if(typeof onerror=='function') cursor.onerror=onerror; }, - deleteDB:function(type,id,callback){ + deleteDB:function(type,id,onsuccess,onerror){ if(!lib.db){ - if(callback) callback(false); + if(onsuccess) onsuccess(false); return; } if(lib.status.reload){ @@ -39700,10 +39714,12 @@ } if(arguments.length>1){ lib.status.reload++; - lib.db.transaction([type],'readwrite').objectStore(type).delete(id).onsuccess=function(){ - if(callback) callback.apply(this,arguments); + const record=lib.db.transaction([type],'readwrite').objectStore(type).delete(id); + record.onsuccess=function(){ + if(onsuccess) onsuccess.apply(this,arguments); game.reload2(); }; + if(typeof onerror=='function') record.onerror=onerror; return; } game.getDB(type,null,obj=>{ @@ -53214,21 +53230,86 @@ else if(lib.config.favouriteCharacter.contains(name)){ fav.classList.add('active'); } - var intro=ui.create.div('.characterintro',get.characterIntro(name),uiintro); + const intro=ui.create.div('.characterintro',uiintro); if(lib.config.show_characternamepinyin){ - var charactername=get.rawName(name); - var characterpinyin=get.pinyin(charactername); - var nameinfo=get.character(name); - var charactersex=get.translation(nameinfo[0]); - const charactergroups=get.is.double(name,true); - let charactergroup; - if(charactergroups) charactergroup=charactergroups.map(i=>get.translation(i)).join('/') - else charactergroup=get.translation(nameinfo[1]); - var characterhp=nameinfo[2]; - var characterintroinfo=get.characterIntro(name); - intro.innerHTML=''+charactername+''+''+'['+characterpinyin+']'+''+' | '+charactersex+' | '+charactergroup+' | '+characterhp+'
'+characterintroinfo; + const span=document.createElement('span'); + span.style.fontWeight='bold'; + const nameInfo=get.character(name),nameExInfo=nameInfo[4],characterName=nameExInfo&&nameExInfo.includes('translateNameAsIs:get.charactercard')?lib.translate[name]:get.rawName(name); + span.textContent=characterName; + const ruby=document.createElement('ruby'); + ruby.appendChild(span); + const leftParenthesisRP=document.createElement('rp'); + leftParenthesisRP.textContent='('; + ruby.appendChild(leftParenthesisRP); + const rt=document.createElement('rt'); + rt.textContent=get.pinyin(characterName).join(' '); + ruby.appendChild(rt); + const rightParenthesisRP=document.createElement('rp'); + rightParenthesisRP.textContent=')'; + ruby.appendChild(rightParenthesisRP); + const tr=document.createElement('tr'),characterNameTD=document.createElement('td'); + characterNameTD.appendChild(ruby); + tr.appendChild(characterNameTD); + const characterSexTD=document.createElement('td'); + characterSexTD.textContent=get.translation(nameInfo[0]); + tr.appendChild(characterSexTD); + const characterGroupTD=document.createElement('td'); + const characterGroups=get.is.double(name,true); + if(characterGroups) Promise.all(characterGroups.map(value=>new Promise((resolve,reject)=>{ + const info=lib.card[`group_${value}`]; + if(!info) resolve(`image/card/group_${value}.png`); + const image=info.image; + if(!image) resolve(`image/card/group_${value}.png`); + else if(image.indexOf('db:')==0) game.getDB('image',image.slice(3),src=>resolve(src),reject); + else if(image.indexOf('ext:')==0) resolve(image.replace(/ext:/,'extension/')); + else resolve(image); + }).then(element=>new Promise((resolve,reject)=>{ + const image=new Image(); + image.onload=()=>resolve(image); + image.onerror=reject; + image.src=element; + })))).then(value=>{ + const documentFragment=document.createDocumentFragment(); + value.forEach(documentFragment.appendChild,documentFragment); + characterGroupTD.appendChild(documentFragment); + }).catch(()=>characterGroupTD.textContent=characterGroups.reduce((previousValue,currentValue)=>previousValue?`${previousValue}/${get.translation(currentValue)}`:get.translation(currentValue),'')); + else{ + const characterGroup=nameInfo[1]; + new Promise((resolve,reject)=>{ + const info=lib.card[`group_${characterGroup}`]; + if(!info) resolve(`image/card/group_${characterGroup}.png`); + const image=info.image; + if(!image) resolve(`image/card/group_${characterGroup}.png`); + else if(image.indexOf('db:')==0) game.getDB('image',image.slice(3),src=>resolve(src),reject); + else if(image.indexOf('ext:')==0) resolve(image.replace(/ext:/,'extension/')); + else resolve(image); + }).then(value=>new Promise((resolve,reject)=>{ + const image=new Image(); + image.onload=()=>resolve(image); + image.onerror=reject; + image.src=value; + })).then(value=>characterGroupTD.appendChild(value)).catch(()=>characterGroupTD.textContent=get.translation(characterGroup)); + } + tr.appendChild(characterGroupTD); + const characterHPTD=document.createElement('td'),hpDiv=ui.create.div('.hp',characterHPTD),nameInfoHP=nameInfo[2],infoHP=get.infoHp(nameInfoHP); + hpDiv.dataset.condition=infoHP<4?'mid':'high'; + ui.create.div(hpDiv); + const hpTextDiv=ui.create.div('.text',hpDiv),infoMaxHP=get.infoMaxHp(nameInfoHP); + hpTextDiv.textContent=infoHP==infoMaxHP?infoHP:`${infoHP}/${infoMaxHP}`; + const infoShield=get.infoHujia(nameInfoHP); + if(infoShield){ + ui.create.div('.shield',hpDiv); + const shieldTextDiv=ui.create.div('.text',hpDiv); + shieldTextDiv.textContent=infoShield; + } + tr.appendChild(characterHPTD); + const table=document.createElement('table'); + table.appendChild(tr); + intro.appendChild(table); + intro.appendChild(document.createElement('hr')); } - var intro2=ui.create.div('.characterintro.intro2',uiintro); + intro.appendChild(new Text(get.characterIntro(name))); + const intro2=ui.create.div('.characterintro.intro2',uiintro); var list=get.character(name,3)||[]; var skills=ui.create.div('.characterskill',uiintro); if(lib.config.touchscreen){ @@ -53241,38 +53322,75 @@ skills.onmousewheel=ui.click.mousewheel; } var clickSkill=function(e){ + while(intro2.firstChild){ + intro2.removeChild(intro2.lastChild); + } var current=this.parentNode.querySelector('.active'); if(current){ current.classList.remove('active'); } this.classList.add('active'); - var skillname=get.translation(this.link); - var skilltranslationinfo=get.skillInfoTranslation(this.link); - if(lib.config.show_skillnamepinyin&&skillname!='阵亡'){ - var skillpinyin=get.pinyin(skillname); - intro2.innerHTML=''+skillname+''+''+'['+skillpinyin+']'+''+' '+skilltranslationinfo; - }else{ - intro2.innerHTML=''+skillname+''+skilltranslationinfo; + const skillNameSpan=document.createElement('span'),skillNameSpanStyle=skillNameSpan.style; + skillNameSpanStyle.fontWeight='bold'; + const skillName=get.translation(this.link); + skillNameSpan.textContent=skillName; + if(lib.config.show_skillnamepinyin&&skillName!='阵亡'){ + const ruby=document.createElement('ruby'); + ruby.appendChild(skillNameSpan); + const leftParenthesisRP=document.createElement('rp'); + leftParenthesisRP.textContent='('; + ruby.appendChild(leftParenthesisRP); + const rt=document.createElement('rt'); + rt.textContent=get.pinyin(skillName).join(' '); + ruby.appendChild(rt); + const rightParenthesisRP=document.createElement('rp'); + rightParenthesisRP.textContent=')'; + ruby.appendChild(rightParenthesisRP); + const div=ui.create.div(intro2); + div.style.marginRight='5px'; + div.appendChild(ruby); } + else{ + skillNameSpanStyle.marginRight='5px'; + intro2.appendChild(skillNameSpan); + } + intro2.appendChild(new Text(get.skillInfoTranslation(this.link))); var info=get.info(this.link); var skill=this.link; var playername=this.linkname; var skillnode=this; - if(info.derivation){ - var derivation=info.derivation; - if(typeof derivation=='string'){ - derivation=[derivation]; - } - for(var i=0;i'+''+'['+derivationpinyin+']'+''+' '+derivationtranslationinfo; - }else{ - intro2.innerHTML+='

'+derivationname+''+derivationtranslationinfo; + let derivation=info.derivation; + if(derivation){ + if(typeof derivation=='string') derivation=[derivation]; + derivation.forEach(value=>{ + intro2.appendChild(document.createElement('br')); + intro2.appendChild(document.createElement('br')); + const derivationNameSpan=document.createElement('span'),derivationNameSpanStyle=derivationNameSpan.style; + derivationNameSpanStyle.fontWeight='bold'; + const derivationName=get.translation(value); + derivationNameSpan.textContent=derivationName; + if(lib.config.show_skillnamepinyin&&derivationName.length<=5&&value.indexOf('_faq')==-1){ + const ruby=document.createElement('ruby'); + ruby.appendChild(derivationNameSpan); + const leftParenthesisRP=document.createElement('rp'); + leftParenthesisRP.textContent='('; + ruby.appendChild(leftParenthesisRP); + const rt=document.createElement('rt'); + rt.textContent=get.pinyin(derivationName).join(' '); + ruby.appendChild(rt); + const rightParenthesisRP=document.createElement('rp'); + rightParenthesisRP.textContent=')'; + ruby.appendChild(rightParenthesisRP); + const div=ui.create.div(intro2); + div.style.marginRight='5px'; + div.appendChild(ruby); } - } + else{ + derivationNameSpanStyle.marginRight='5px'; + intro2.appendChild(derivationNameSpan); + } + intro2.appendChild(new Text(get.skillInfoTranslation(value))); + }); } if(info.alter){ intro2.innerHTML+='

'; @@ -54394,40 +54512,36 @@ return []; }, //装备栏 END - pinyin:function(chinese,withtone){ - const util=window.pinyinUtilx; - if(!window.pinyinUtilx) return []; - if(lib.pinyins&&lib.pinyins[chinese]){ - const str=lib.pinyins[chinese]; - if(withtone===false){ - for(let i=0;i{ + const pinyinUtilx=window.pinyinUtilx; + if(!pinyinUtilx) return []; + const pinyins=lib.pinyins; + if(pinyins){ + const pinyin=pinyins[chinese]; + if(Array.isArray(pinyin)) return withTone===false?pinyin.map(pinyinUtilx.removeTone):pinyin.slice(); } - return util.getPinyin(chinese,null,withtone,true); + return pinyinUtilx.getPinyin(chinese,null,withTone,true); }, yunmu:function(str){ //部分整体认读音节特化处理 const util=window.pinyinUtilx; - if(util&&lib.pinyins.metadata.zhengtirendu.contains(util.removeTone(str))){ + if(util&&lib.pinyins._metadata.zhengtirendu.contains(util.removeTone(str))){ return '-'+str[str.length-1]; } //排除声母 - for(let i of lib.pinyins.metadata.shengmu){ + for(let i of lib.pinyins._metadata.shengmu){ if(str.indexOf(i)==0){ str=str.slice(i.length); - if(str[0]=='u'&&lib.pinyins.metadata.special_shengmu.contains(i)) str='ü'+str.slice(1); + if(str[0]=='u'&&lib.pinyins._metadata.special_shengmu.contains(i)) str='ü'+str.slice(1); break; } } //排除介母 if(str.length>0){ - for(let i in lib.pinyins.metadata.feijiemu){ + for(let i in lib.pinyins._metadata.feijiemu){ if(str[0]==i){ let goon=false; - for(let j of lib.pinyins.metadata.feijiemu[i]){ + for(let j of lib.pinyins._metadata.feijiemu[i]){ if(str.indexOf(j)==0) goon=true; } if(!goon) str=str.slice(1); @@ -54440,20 +54554,20 @@ yunjiao:function(str){ const util=window.pinyinUtilx; if(util) str=util.removeTone(str) - if(lib.pinyins.metadata.zhengtirendu.contains(str)){ + if(lib.pinyins._metadata.zhengtirendu.contains(str)){ str=('-'+str[str.length-1]); } else{ - for(let i of lib.pinyins.metadata.shengmu){ + for(let i of lib.pinyins._metadata.shengmu){ if(str.indexOf(i)==0){ str=str.slice(i.length); - if(str[0]=='u'&&lib.pinyins.metadata.special_shengmu.contains(i)) str='ü'+str.slice(1); + if(str[0]=='u'&&lib.pinyins._metadata.special_shengmu.contains(i)) str='ü'+str.slice(1); break; } } } - for(let i in lib.pinyins.metadata.yunjiao){ - if(lib.pinyins.metadata.yunjiao[i].contains(str)) return i; + for(let i in lib.pinyins._metadata.yunjiao){ + if(lib.pinyins._metadata.yunjiao[i].contains(str)) return i; } return null; }, diff --git a/layout/default/menu.css b/layout/default/menu.css index 12df29b8b..28e1a7683 100644 --- a/layout/default/menu.css +++ b/layout/default/menu.css @@ -1,33 +1,41 @@ -.menu-container{ - z-index:8; +.menu-container { + z-index: 8; } -.menu-container div{ - position: relative; + +.menu-container div { + position: relative; } -.menu-container.hidden{ - pointer-events: none; + +.menu-container.hidden { + pointer-events: none; } -#menu-button{ - z-index:6; + +#menu-button { + z-index: 6; } -.popup-container{ - z-index:10; + +.popup-container { + z-index: 10; } -.popup-container.filter-character{ + +.popup-container.filter-character { text-align: center; overflow: scroll; opacity: 0; transition: all 0.3s; } -.popup-container.filter-character.shown{ + +.popup-container.filter-character.shown { opacity: 1; } -.popup-container.filter-character.removing>div{ + +.popup-container.filter-character.removing>div { pointer-events: none; } -.popup-container.filter-character>div{ + +.popup-container.filter-character>div { left: 0; - top:0; + top: 0; left: 0; width: 100%; height: auto; @@ -36,11 +44,13 @@ transition: all 0s; position: relative; } -.popup-container.filter-character>div>div{ + +.popup-container.filter-character>div>div { position: relative; margin: 10px; } -.popup-container.filter-character>div>.capt{ + +.popup-container.filter-character>div>.capt { width: 80px; height: 80px; padding: 0; @@ -48,145 +58,178 @@ line-height: 90px; } -.menu-container,.popup-container{ - width:100%; - height:100%; - left:0; - top:0; +.menu-container, +.popup-container { + width: 100%; + height: 100%; + left: 0; + top: 0; position: absolute; } -.menu-buttons,.menu-sym{ + +.menu-buttons, +.menu-sym { padding-bottom: 5px !important; width: calc(100% - 10px) !important; padding-right: 5px !important; } -.menu-buttons.leftbutton{ + +.menu-buttons.leftbutton { text-align: left; margin-left: 10px; } -.menu-buttons.leftbutton:not(.commandbutton){ + +.menu-buttons.leftbutton:not(.commandbutton) { width: calc(100% - 30px) !important; } + .menu.main>.menu-content>div>.right.pane>.menu-buttons.leftbutton>.config.toggle:first-child, -.menu.main>.menu-content>div>.right.pane>.menu-buttons.leftbutton>.config.toggle:first-child+.config.toggle{ - margin-left: 3px !important; +.menu.main>.menu-content>div>.right.pane>.menu-buttons.leftbutton>.config.toggle:first-child+.config.toggle { + margin-left: 3px !important; width: calc(100% - 15px) !important; } -.menu-buttons div{ + +.menu-buttons div { position: absolute; } -.menu-buttons>.glow{ + +.menu-buttons>.glow { box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 133, 255, 0.8) 0 0 10px, rgba(0, 133, 255, 0.8) 0 0 10px, rgba(0, 133, 255, 0.8) 0 0 15px !important; } -.menu-cheat>div{ - margin:5px; + +.menu-cheat>div { + margin: 5px; } -.menu-cheat>.selecting{ + +.menu-cheat>.selecting { box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 0, 0, 0.8) 0 0 5px, rgba(255, 0, 0, 0.8) 0 0 5px !important } -.menu-cheat.config>.menubutton{ - height:16px; + +.menu-cheat.config>.menubutton { + height: 16px; line-height: 16px; - transform: translateY(-10px); + transform: translateY(-10px); } -.menu-cheat.config{ + +.menu-cheat.config { transition-property: opacity; } + .menu-buttons>.toggle, -.menu-buttons>.config.more{ - position:relative; +.menu-buttons>.config.more { + position: relative; margin-bottom: 10px !important; margin-left: 10px !important; margin-right: 10px !important; width: calc(100% - 25px) !important; display: inline-block; } + .menu-buttons>.config.more, -.menu-buttons>.toggle.cardpilecfg{ +.menu-buttons>.toggle.cardpilecfg { margin-bottom: 0 !important; display: block; } -.menu-buttons>.config.more.pile{ + +.menu-buttons>.config.more.pile { margin-top: 5px !important; margin-left: 3px !important; } -.menu-buttons>.toggle.cardpilecfgadd:not(.hidden){ + +.menu-buttons>.toggle.cardpilecfgadd:not(.hidden) { margin-top: 0 !important; } -.menu-buttons>.toggle.cardpilecfg:not(.nomarginleft){ + +.menu-buttons>.toggle.cardpilecfg:not(.nomarginleft) { margin-left: 20px !important; width: calc(100% - 35px) !important; } -.menu-buttons>.config.more *{ + +.menu-buttons>.config.more * { position: relative; } -.menu-buttons>.button{ - zoom:0.75; + +.menu-buttons>.button { + zoom: 0.75; } + .menu-buttons .cardpiledelete, -.toggle>.cardpiledelete{ - display: inline-block; +.toggle>.cardpiledelete { position: relative; float: right; margin-right: 4px; } -.menu-buttons .menuplaceholder{ + +.menu-buttons .menuplaceholder { display: block; margin: 0; padding: 0; width: 100%; height: 10px; } -.menu-buttons .menuplaceholder.slim{ + +.menu-buttons .menuplaceholder.slim { height: 5px; } -#window:not(.nopointer) .cardpiledelete{ + +#window:not(.nopointer) .cardpiledelete { cursor: pointer; } -.menu-help{ + +.menu-help { width: calc(100% - 30px) !important; text-align: left !important; } -.menu-help li{ + +.menu-help li { margin-bottom: 10px !important; } -.menu-container>.menu.main{ + +.menu-container>.menu.main { left: 15px; top: 52px; } -.menu-container>.menu.main.center{ - left:calc(50% - 200px); - top:calc(50% - 150px); + +.menu-container>.menu.main.center { + left: calc(50% - 200px); + top: calc(50% - 150px); } -.menu-container.hidden>.menu.main{ - transform:scale(0.5); - transform-origin:2px -35px; - opacity:0; + +.menu-container.hidden>.menu.main { + transform: scale(0.5); + transform-origin: 2px -35px; + opacity: 0; } -.menu-container>.menu.main{ + +.menu-container>.menu.main { transition: all 0.3s; - transform-origin:2px -35px; + transform-origin: 2px -35px; } -.menu-container.hidden>.menu.main.center{ + +.menu-container.hidden>.menu.main.center { /*transform:translateY(300px);*/ transform-origin: center center; } -.menu-container>.menu.main.center{ + +.menu-container>.menu.main.center { transform-origin: center center; } -.menu.main{ + +.menu.main { width: 400px; - height:300px; + height: 300px; position: absolute; - overflow:hidden; - padding:0; + overflow: hidden; + padding: 0; } -.removing>.menubg.charactercard{ + +.removing>.menubg.charactercard { transform: scale(0.8); opacity: 0; transition: all 0.3s; } -.menubg.charactercard{ + +.menubg.charactercard { width: 500px; height: 300px; left: calc(50% - 250px); @@ -194,7 +237,8 @@ animation: dialog_start2 0.3s; -webkit-animation: dialog_start2 0.3s; } -.menubg.charactercard>.menubutton.large.ava{ + +.menubg.charactercard>.menubutton.large.ava { width: 180px; height: 240px; left: 10px; @@ -202,7 +246,8 @@ overflow: hidden; box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 0 5px !important; } -.menubg.charactercard>.menubutton.large{ + +.menubg.charactercard>.menubutton.large { width: 85px; height: 30px; bottom: 10px; @@ -210,13 +255,16 @@ padding: 0; font-size: 20px; } -.menubg.charactercard>.menubutton.ban{ + +.menubg.charactercard>.menubutton.ban { left: 10px; } -.menubg.charactercard>.menubutton.fav{ + +.menubg.charactercard>.menubutton.fav { left: 105px; } -.menubg.charactercard>.ava>.changeskin{ + +.menubg.charactercard>.ava>.changeskin { bottom: 6px; left: 6px; font-family: 'xinwei'; @@ -229,21 +277,24 @@ pointer-events: none; opacity: 0.6; } + #window:not(.nopointer) .menubg.charactercard .menubutton:not(.ava):not(.intro):not(.unselectable), -#window:not(.nopointer) .menubg.charactercard>.ava>.avatars>div{ +#window:not(.nopointer) .menubg.charactercard>.ava>.avatars>div { cursor: pointer; } -.menubg.charactercard>.characterskill{ + +.menubg.charactercard>.characterskill { left: 191px; - padding-left: 9px; - padding-right: 10px; - width: 290px; - top: 125px; - height: 50px; - white-space: nowrap; - overflow-x: scroll; + padding-left: 9px; + padding-right: 10px; + width: 290px; + top: 125px; + height: 50px; + white-space: nowrap; + overflow-x: scroll; } -.menubg.charactercard>.characterskill>.menubutton.large{ + +.menubg.charactercard>.characterskill>.menubutton.large { height: 20px; line-height: 20px; padding: 5px; @@ -252,24 +303,90 @@ font-size: 20px; margin-right: 10px; } -.menubg.charactercard .characterintro{ + +.menubg.charactercard .characterintro .hp { + height: initial; + left: initial; + top: initial; + width: initial; +} + +.menubg.charactercard .characterintro .hp>div:first-child { + margin-left: initial; +} + +.menubg.charactercard .characterintro .hp>div:nth-child(odd) { + height: 10px; + width: 10px; +} + +.menubg.charactercard .characterintro .hp>div.text { + background: none !important; + border: none !important; + box-shadow: none !important; + filter: initial; + -webkit-filter: initial; + height: initial; + width: initial; +} + +.menubg.charactercard .characterintro div, +.menubg.charactercard .characterintro.intro2 div { + position: initial; +} + +.menubg.charactercard .characterintro rp, +.menubg.charactercard .characterintro rt, +.menubg.charactercard .characterintro.intro2 rp, +.menubg.charactercard .characterintro.intro2 rt { + font-size: smaller; +} + +.menubg.charactercard .characterintro table td img { + height: 1.5em; + vertical-align: middle; +} + +.menubg.charactercard .characterintro table td { + white-space: nowrap; +} + +.menubg.charactercard .characterintro table td:first-child { + width: 25%; +} + +.menubg.charactercard .characterintro table td:not(:first-child) { + text-align: center; +} + +.menubg.charactercard .characterintro table { + border-collapse: collapse; + border-color: currentColor; + table-layout: auto; + width: 100%; +} + +.menubg.charactercard .characterintro { left: 200px; width: 280px; height: 105px; padding: 5px; overflow: scroll; border-radius: 4px; - box-shadow: rgba(0,0,0,0.2) 0 0 0 1px; + box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px; } -.menubg.charactercard .characterintro:not(.intro2){ + +.menubg.charactercard .characterintro:not(.intro2) { top: 10px; bottom: auto; } -.menubg.charactercard .characterintro.intro2{ + +.menubg.charactercard .characterintro.intro2 { top: auto; bottom: 10px; } -.menubg.charactercard>.ava>.avatars{ + +.menubg.charactercard>.ava>.avatars { opacity: 0; pointer-events: none; width: 100%; @@ -279,16 +396,18 @@ margin: 0; padding: 0; overflow: hidden; - line-height: 0; + line-height: 0; text-align: left; transform: scale(0.8); } -.menubg.charactercard>.ava>.avatars.scroll{ + +.menubg.charactercard>.ava>.avatars.scroll { overflow: scroll; } -.menubg.charactercard>.ava>.avatars>div{ + +.menubg.charactercard>.ava>.avatars>div { position: relative; - margin:3px; + margin: 3px; width: 81px; height: 111px; border-radius: 4px; @@ -296,26 +415,32 @@ background-position: 50% 0; box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 0 5px } + .menubg.charactercard>.ava>.avatars>div:first-child, -.menubg.charactercard>.ava>.avatars>div:first-child+div{ +.menubg.charactercard>.ava>.avatars>div:first-child+div { margin-top: 6px; } -.menubg.charactercard>.ava>.avatars>div:nth-of-type(odd){ + +.menubg.charactercard>.ava>.avatars>div:nth-of-type(odd) { margin-left: 6px; } -.menubg.charactercard>.ava.scroll>.avatars{ + +.menubg.charactercard>.ava.scroll>.avatars { opacity: 1; pointer-events: auto; transform: scale(1); } -.menubg.charactercard>.ava.scroll>.changeskin{ + +.menubg.charactercard>.ava.scroll>.changeskin { opacity: 0; } -.menubg.charactercard>.ava.scroll>.avatar{ + +.menubg.charactercard>.ava.scroll>.avatar { transform: translateX(-200px); pointer-events: none; } -.menubg.charactercard>.ava>.avatar{ + +.menubg.charactercard>.ava>.avatar { left: 5px; top: 5px; width: calc(100% - 10px); @@ -325,210 +450,250 @@ z-index: 1; box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 0 5px; } -.menu.main>.menu-tab{ - height:37px; - text-align:center; - width:calc(100% - 30px); - padding-left:15px; - padding-right:15px; - position:relative; - text-align:center; + +.menu.main>.menu-tab { + height: 37px; + text-align: center; + width: calc(100% - 30px); + padding-left: 15px; + padding-right: 15px; + position: relative; + text-align: center; border-width: 0 0 1px; - border-style:solid; - border-image:linear-gradient(to right, transparent,rgba(0,0,0,0.2) 10%,rgba(0,0,0,0.2) 90%,transparent) 0 1 100%; + border-style: solid; + border-image: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.2) 10%, rgba(0, 0, 0, 0.2) 90%, transparent) 0 1 100%; } -.menu.main>.menu-tab-bar{ - width:45px; - height:2px; - top:35px; - position:absolute; - background-color:rgb(0, 133, 255); - transition:transform 0.3s; + +.menu.main>.menu-tab-bar { + width: 45px; + height: 2px; + top: 35px; + position: absolute; + background-color: rgb(0, 133, 255); + transition: transform 0.3s; left: 0; } -.menu.main>.menu-tab>div{ - display:inline-block; - height:32px; - line-height:30px; - padding-top:5px; - width:45px; - margin-left:5px; - margin-right:5px; - transition:color 0.5s; + +.menu.main>.menu-tab>div { + display: inline-block; + height: 32px; + line-height: 30px; + padding-top: 5px; + width: 45px; + margin-left: 5px; + margin-right: 5px; + transition: color 0.5s; } + .menu.main>.menu-tab>div:not(.active):not(*:hover), -.menu.main>.menu-tab>.disabled{ - color:rgba(255,255,255,0.6); +.menu.main>.menu-tab>.disabled { + color: rgba(255, 255, 255, 0.6); } -.menu.main>.menu-content{ - height:calc(100% - 38px); - position:relative; - width:100%; + +.menu.main>.menu-content { + height: calc(100% - 38px); + position: relative; + width: 100%; } -.menu.main>.menu-content>div{ - width:100%; - height:100%; + +.menu.main>.menu-content>div { + width: 100%; + height: 100%; } -.menu.main>.menu-content>div>.pane{ - position:absolute; - display:inline-block; - height:100%; + +.menu.main>.menu-content>div>.pane { + position: absolute; + display: inline-block; + height: 100%; } -.menu.main>.menu-content>div>.left.pane{ - width:34%; - left:0; - overflow: scroll; + +.menu.main>.menu-content>div>.left.pane { + width: 34%; + left: 0; + overflow: scroll; } -.menu.main>.menu-content>div>.left.pane>div{ - width:calc(100% - 30px); - margin-top:9px; - margin-left:10px; - transition:all 0.3s; - height: 23px; - font-size: 26px; - line-height: 26px; + +.menu.main>.menu-content>div>.left.pane>div { + width: calc(100% - 30px); + margin-top: 9px; + margin-left: 10px; + transition: all 0.3s; + height: 23px; + font-size: 26px; + line-height: 26px; white-space: nowrap; } -.menu.main>.menu-content>div>.left.pane>.menubutton.off{ + +.menu.main>.menu-content>div>.left.pane>.menubutton.off { opacity: 0.5; } -.menu.main>.menu-content>div>.left.pane>.lefttext{ - font-family: 'xinwei'; - font-size: 20px; + +.menu.main>.menu-content>div>.left.pane>.lefttext { + font-family: 'xinwei'; + font-size: 20px; } -.menu.main>.menu-content>div>.left.pane>div:last-child{ + +.menu.main>.menu-content>div>.left.pane>div:last-child { margin-bottom: 9px; } -.menu.main>.menu-content>div>.left.pane.dim>div:not(.active){ - color:rgba(255,255,255,0.5); + +.menu.main>.menu-content>div>.left.pane.dim>div:not(.active) { + color: rgba(255, 255, 255, 0.5); } -.menu.main>.menu-content>div>.right.pane{ - left:34%; - width:66%; - overflow:scroll; + +.menu.main>.menu-content>div>.right.pane { + left: 34%; + width: 66%; + overflow: scroll; } -.menu.main>.menu-content>div>.right.pane>div{ - width:calc(100% - 5px); - position:absolute; - top:0; - left:0; - padding-left:5px; - padding-top:5px; + +.menu.main>.menu-content>div>.right.pane>div { + width: calc(100% - 5px); + position: absolute; + top: 0; + left: 0; + padding-left: 5px; + padding-top: 5px; } -.menu.main>.menu-content>div>.right.pane>.expanded{ - padding-bottom:80px; + +.menu.main>.menu-content>div>.right.pane>.expanded { + padding-bottom: 80px; } -.menu.main>.menu-content>div>.right.pane>.expanded.expanded2{ - padding-bottom:12px; + +.menu.main>.menu-content>div>.right.pane>.expanded.expanded2 { + padding-bottom: 12px; } -.menu.main>.menu-content>div>.right.pane>.morenodes{ - padding-bottom:10px; + +.menu.main>.menu-content>div>.right.pane>.morenodes { + padding-bottom: 10px; } -.menu.main>.menu-content>div>.right.pane>div>.config{ - left:2px; - margin-top:10px; + +.menu.main>.menu-content>div>.right.pane>div>.config { + left: 2px; + margin-top: 10px; margin-left: 3px; - transition:all 0.3s; - width:calc(100% - 20px); - overflow: visible; + transition: all 0.3s; + width: calc(100% - 20px); + overflow: visible; position: relative; } -.menu.main>.menu-content>div>.right.pane>div>.config.banskilladd{ + +.menu.main>.menu-content>div>.right.pane>div>.config.banskilladd { height: 50px; transition: all 0s; } -.menu.main>.menu-content>div>.right.pane>div>.config.banskilladd.hidden{ + +.menu.main>.menu-content>div>.right.pane>div>.config.banskilladd.hidden { margin-top: -50px !important; } + .menu.main>.menu-content>div>.right.pane>div>.config.banskilladd:not(.hidden), -.menu.main>.menu-content>div>.right.pane>div>.config.cardpileadd:not(.hidden){ - margin-top:0; +.menu.main>.menu-content>div>.right.pane>div>.config.cardpileadd:not(.hidden) { + margin-top: 0; } -.menu.main>.menu-content>div>.right.pane>div>.config.banskilladd>select{ + +.menu.main>.menu-content>div>.right.pane>div>.config.banskilladd>select { margin-right: 3px; } -.menu.main>.menu-content>div>.right.pane>div>.config.toggle{ - left:2px !important; - text-align: left !important; + +.menu.main>.menu-content>div>.right.pane>div>.config.toggle { + left: 2px !important; + text-align: left !important; white-space: nowrap; } -.menu.main>.menu-content>div>.right.pane>div>.config.toggle.pointerspan.cardpilecfg{ - left:0px !important; + +.menu.main>.menu-content>div>.right.pane>div>.config.toggle.pointerspan.cardpilecfg { + left: 0px !important; } + .menu.main>.menu-content>div>.right.pane>div>.config.indent, -.menu.main>.menu-content>div>.right.pane>div>.config.toggle.indent{ - left:12px !important; +.menu.main>.menu-content>div>.right.pane>div>.config.toggle.indent { + left: 12px !important; width: calc(100% - 32px) !important; } + #window:not(.low_performance) .menu.main>.menu-content>div>.right.pane>div:not(.expanded)>.config.auto-hide, -#window:not(.low_performance) .menu.main>.menu-content>div>.right.pane>div>.config.hidden{ - margin-top:-25px; - opacity:0; - z-index:-1; +#window:not(.low_performance) .menu.main>.menu-content>div>.right.pane>div>.config.hidden { + margin-top: -25px; + opacity: 0; + z-index: -1; } + #window.low_performance .menu.main>.menu-content>div>.right.pane>div:not(.expanded)>.config.auto-hide, -#window.low_performance .menu.main>.menu-content>div>.right.pane>div>.config.hidden{ +#window.low_performance .menu.main>.menu-content>div>.right.pane>div>.config.hidden { display: none; transition-property: transform; } -.menu.main>.menu-content>div>.menubutton.round{ - left:335px; - top:197px; - z-index:3; - transition-property: color, box-shadow; - transition-duration:0.3s; - position:absolute; + +.menu.main>.menu-content>div>.menubutton.round { + left: 335px; + top: 197px; + z-index: 3; + transition-property: color, box-shadow; + transition-duration: 0.3s; + position: absolute; } -.menu.main>.menu-content>div>.menubutton.round.glowing{ + +.menu.main>.menu-content>div>.menubutton.round.glowing { box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 133, 255, 0.8) 0 0 10px, rgba(0, 133, 255, 0.8) 0 0 15px !important; } -.popup-container.hidden{ - pointer-events:none; +.popup-container.hidden { + pointer-events: none; } -.popup-container>.menu{ - position:absolute; - overflow:scroll; + +.popup-container>.menu { + position: absolute; + overflow: scroll; max-height: 400px; transition-property: opacity; } -.popup-container>.menu.visual{ + +.popup-container>.menu.visual { padding: 5px; overflow: scroll; } -.popup-container>.menu>div{ - padding-top:5px; - padding-bottom:5px; - padding-left:10px; - padding-right:10px; - position: relative; - display: block; - transition: all 0s; + +.popup-container>.menu>div { + padding-top: 5px; + padding-bottom: 5px; + padding-left: 10px; + padding-right: 10px; + position: relative; + display: block; + transition: all 0s; } -.popup-container>.menu.visual>.button.transparent{ + +.popup-container>.menu.visual>.button.transparent { pointer-events: none; } -.popup-container>.menu.visual>.button.transparent:not(.shown){ + +.popup-container>.menu.visual>.button.transparent:not(.shown) { display: none; } -.popup-container>.menu.visual>.dashedmenubutton{ + +.popup-container>.menu.visual>.dashedmenubutton { box-shadow: none !important; width: 86px; height: 86px; - border: 2px dashed rgb(40,40,40); + border: 2px dashed rgb(40, 40, 40); } -.popup-container>.menu.visual>.controlbutton{ + +.popup-container>.menu.visual>.controlbutton { height: 26px; border-radius: 4px; } -.popup-container>.menu.visual>.controlbutton.dashedmenubutton{ + +.popup-container>.menu.visual>.controlbutton.dashedmenubutton { height: 22px; } -.popup-container>.menu.visual>.controlbutton.dashedmenubutton>div{ + +.popup-container>.menu.visual>.controlbutton.dashedmenubutton>div { line-height: 22px; } -.popup-container>.menu.visual>.controlbutton>div{ + +.popup-container>.menu.visual>.controlbutton>div { width: 100%; height: 100%; left: 0 !important; @@ -539,15 +704,18 @@ text-align: center; line-height: 26px; } -.popup-container>.menu.visual>.controlbutton>div>br{ + +.popup-container>.menu.visual>.controlbutton>div>br { display: none; } -.popup-container>.menu.visual>.hpbutton{ + +.popup-container>.menu.visual>.hpbutton { width: 60px; height: 60px; overflow: hidden; } -.popup-container>.menu.visual>.hpbutton>div{ + +.popup-container>.menu.visual>.hpbutton>div { width: 30px; height: 30px; margin: 0; @@ -557,27 +725,32 @@ background-repeat: no-repeat; background-position: 50% 50%; } -.popup-container>.menu.visual>.hpbutton>div:nth-child(1){ + +.popup-container>.menu.visual>.hpbutton>div:nth-child(1) { left: 0; top: 0; } -.popup-container>.menu.visual>.hpbutton>div:nth-child(2){ + +.popup-container>.menu.visual>.hpbutton>div:nth-child(2) { right: 0; left: auto; top: 0; } -.popup-container>.menu.visual>.hpbutton>div:nth-child(3){ + +.popup-container>.menu.visual>.hpbutton>div:nth-child(3) { left: 0; bottom: 0; top: auto; } -.popup-container>.menu.visual>.hpbutton>div:nth-child(4){ + +.popup-container>.menu.visual>.hpbutton>div:nth-child(4) { right: 0; left: auto; bottom: 0; top: auto; } -.popup-container>.menu.visual>.hpbutton>div>div{ + +.popup-container>.menu.visual>.hpbutton>div>div { width: 60%; height: 60%; margin: 0; @@ -586,103 +759,127 @@ left: 20%; top: 20%; border-radius: 100%; - box-shadow: rgba(0,0,0,0.2) 1px -1px 2px inset, rgba(255,255,255,0.15) -1px 1px 5px inset; - filter: brightness(1.5); - -webkit-filter: brightness(1.5); + box-shadow: rgba(0, 0, 0, 0.2) 1px -1px 2px inset, rgba(255, 255, 255, 0.15) -1px 1px 5px inset; + filter: brightness(1.5); + -webkit-filter: brightness(1.5); } -.popup-container>.menu.visual>.hpbutton>div:nth-child(1)>div{ - background: rgba(57, 123, 4,1); + +.popup-container>.menu.visual>.hpbutton>div:nth-child(1)>div { + background: rgba(57, 123, 4, 1); border: 1px solid rgba(39, 79, 7, 1); } -.popup-container>.menu.visual>.hpbutton>div:nth-child(2)>div{ - background: rgba(166, 140, 6,1); - border: 1px solid rgba(79, 64, 7, 1); + +.popup-container>.menu.visual>.hpbutton>div:nth-child(2)>div { + background: rgba(166, 140, 6, 1); + border: 1px solid rgba(79, 64, 7, 1); } -.popup-container>.menu.visual>.hpbutton>div:nth-child(3)>div{ - background: rgba(148, 27, 27,1); - border: 1px solid rgba(79, 7, 7, 1); + +.popup-container>.menu.visual>.hpbutton>div:nth-child(3)>div { + background: rgba(148, 27, 27, 1); + border: 1px solid rgba(79, 7, 7, 1); } -.popup-container>.menu.visual>.hpbutton>div:nth-child(4)>div{ - background: rgba(57, 123, 4,1); - border: 1px solid rgba(39, 79, 7, 1); + +.popup-container>.menu.visual>.hpbutton>div:nth-child(4)>div { + background: rgba(57, 123, 4, 1); + border: 1px solid rgba(39, 79, 7, 1); } -.themebutton>div{ - width:50px; - height:76px; - top:7px; - right:7px; - border-radius:4px; + +.themebutton>div { + width: 50px; + height: 76px; + top: 7px; + right: 7px; + border-radius: 4px; } -.themebutton>div>div{ - width:calc(100% - 10px); - height:12px; - display:block; - margin-left:5px; - margin-top:6px; - position:relative; - border-radius:2px; - box-shadow:rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 0, 0, 0.3) 0 0 5px; + +.themebutton>div>div { + width: calc(100% - 10px); + height: 12px; + display: block; + margin-left: 5px; + margin-top: 6px; + position: relative; + border-radius: 2px; + box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 0, 0, 0.3) 0 0 5px; transition: all 0s; } -.themebutton>div:first-child{ + +.themebutton>div:first-child { z-index: 2; } -.themebutton.woodden{ - background:url('../../theme/woodden/grid.png'),linear-gradient(#6c7989, #434b55) fixed; + +.themebutton.woodden { + background: url('../../theme/woodden/grid.png'), linear-gradient(#6c7989, #434b55) fixed; } -.themebutton.woodden>div:not(*:first-child){ + +.themebutton.woodden>div:not(*:first-child) { background: url('../../theme/woodden/wood2.png'); box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 3px 10px; } -.themebutton.woodden>div.fakeplayer:not(*:first-child){ + +.themebutton.woodden>div.fakeplayer:not(*:first-child) { box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 0px 10px; } -.themebutton.woodden>div>div{ + +.themebutton.woodden>div>div { background: url('../../theme/woodden/wood.png'); } -.themebutton.woodden>div>div.active{ + +.themebutton.woodden>div>div.active { box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 133, 255, 0.4) 0 0 0 2px, rgba(0, 133, 255, 1) 0 0 5px !important; } -.themebutton.music{ - background:url('../../theme/music/grid.png'),linear-gradient(#333333, #222222) fixed; + +.themebutton.music { + background: url('../../theme/music/grid.png'), linear-gradient(#333333, #222222) fixed; } -.themebutton.music>div:not(*:first-child){ + +.themebutton.music>div:not(*:first-child) { background: linear-gradient(#4b4b4b, #464646); box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 3px 10px; } -.themebutton.music>div>div{ + +.themebutton.music>div>div { background: linear-gradient(#4b4b4b, #464646); } -.themebutton.ol{ - background:url('../../image/background/ol_bg.jpg'); + +.themebutton.ol { + background: url('../../image/background/ol_bg.jpg'); background-size: cover; } -.themebutton.ol>div:not(*:first-child){ + +.themebutton.ol>div:not(*:first-child) { background: linear-gradient(#4b4b4b, #464646); box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 3px 10px; } -.themebutton.ol>div>div{ + +.themebutton.ol>div>div { background: linear-gradient(#4b4b4b, #464646); } -.themebutton.simple{ - background:url('../../image/background/ol_bg.jpg'); + +.themebutton.simple { + background: url('../../image/background/ol_bg.jpg'); background-size: cover; } -.themebutton.simple>div:not(*:first-child){ - background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)); + +.themebutton.simple>div:not(*:first-child) { + background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)); box-shadow: rgba(0, 0, 0, 0.4) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 3px 10px; } -.themebutton.simple>div>div{ - background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)); + +.themebutton.simple>div>div { + background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)); } + .themebutton.simple>div>div.active, -.themebutton.music>div>div.active{ - background-image: linear-gradient(rgba(47,101,150,1), rgba(43, 90, 132,1)); +.themebutton.music>div>div.active { + background-image: linear-gradient(rgba(47, 101, 150, 1), rgba(43, 90, 132, 1)); } -.themebutton>div>div:first-child{ - margin-top:5px; + +.themebutton>div>div:first-child { + margin-top: 5px; } -.themebutton>.fakeplayer>.avatar{ + +.themebutton>.fakeplayer>.avatar { width: calc(100% - 2px); height: calc(100% - 2px); left: 1px; @@ -691,12 +888,14 @@ position: absolute; margin: 0 !important; padding: 0; - box-shadow: rgba(0,0,0,0.2) 0 0 0 1px inset; + box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px inset; } -.themebutton>.fakeplayer.oldlayout>.avatar{ + +.themebutton>.fakeplayer.oldlayout>.avatar { width: calc(50% - 2px); } -.themebutton>.fakeplayer.me>.avatar{ + +.themebutton>.fakeplayer.me>.avatar { width: 22px; height: 22px; left: 3px; @@ -704,11 +903,13 @@ box-shadow: none; border-radius: 0px; } -.themebutton>.fakeplayer.me{ + +.themebutton>.fakeplayer.me { clip-path: polygon(-10px 0, 32px 0, 32px 32px, -10px 32px); -webkit-clip-path: polygon(-10px 0, 32px 0, 32px 32px, -10px 32px); } -.themebutton>div>div>div{ + +.themebutton>div>div>div { width: 200%; height: 200%; left: 0; @@ -721,49 +922,57 @@ text-align: center; box-shadow: none !important; } -.themebutton.woodden>div>div>div{ + +.themebutton.woodden>div>div>div { color: rgba(77, 60, 51, 0.8); text-shadow: none; } -#window:not(.nopointer) .popup-container>.menu>div{ +#window:not(.nopointer) .popup-container>.menu>div { cursor: pointer; } -.popup-container>.menu.visual>div{ + +.popup-container>.menu.visual>div { display: inline-block; - margin:5px !important; + margin: 5px !important; padding: 0 !important; width: 90px; height: 90px; } -.popup-container>.menu.visual.withbar>div:last-child{ + +.popup-container>.menu.visual.withbar>div:last-child { display: block; width: calc(100% - 10px); text-align: center; height: auto; cursor: default !important; } -.popup-container>.menu.visual.withbar>div:last-child>div{ + +.popup-container>.menu.visual.withbar>div:last-child>div { display: inline-block; position: relative; margin-left: 5px; margin-right: 5px; } -.popup-container>.menu.visual.withbar>div:not(.showdelete)>.deletebutton{ + +.popup-container>.menu.visual.withbar>div:not(.showdelete)>.deletebutton { display: none; } -.popup-container>.menu.visual.withbar>div.hideadd>.addbutton{ + +.popup-container>.menu.visual.withbar>div.hideadd>.addbutton { display: none; } -.popup-container>.menu.visual.withbar>div.showdelete>div:first-child:not(.addbutton){ + +.popup-container>.menu.visual.withbar>div.showdelete>div:first-child:not(.addbutton) { display: none; } -#window:not(.nopointer) .popup-container>.menu.visual.withbar>div:last-child>div{ + +#window:not(.nopointer) .popup-container>.menu.visual.withbar>div:last-child>div { cursor: pointer; } -input.fileinput{ +input.fileinput { margin: 0 !important; padding: 0 !important; position: absolute !important; @@ -773,124 +982,220 @@ input.fileinput{ top: 0 !important; opacity: 0 !important; } + input.fileinput::-webkit-file-upload-button { - cursor: pointer; -} -#window:not(.nopointer) input.fileinput{ cursor: pointer; } -.popup-container>.menu.visual>.button.character>.name{ + +#window:not(.nopointer) input.fileinput { + cursor: pointer; +} + +.popup-container>.menu.visual>.button.character>.name { top: 10px; } -.popup-container>.menu>div:first-child{ - margin-top:5px; -} -.popup-container>.menu>div:last-child{ - margin-bottom:5px; + +.popup-container>.menu>div:first-child { + margin-top: 5px; } -.config{ - height:25px; - line-height:25px; - position:relative; +.popup-container>.menu>div:last-child { + margin-bottom: 5px; } + +.config { + height: 25px; + line-height: 25px; + position: relative; +} + #window:not(.nopointer) .config.switcher>div, -#window:not(.nopointer) .config.toggle>div{ +#window:not(.nopointer) .config.toggle>div { cursor: pointer; } + .config.switcher>div, -.config.toggle>div{ - position:absolute; - right:0; - left:auto; - display:inline-block; - transition:all 0.3s; - height:25px; +.config.toggle>div { + position: absolute; + right: 0; + left: auto; + display: inline-block; + transition: all 0.3s; + height: 25px; } -.config.switcher>div{ - border-bottom-width:2px; - border-bottom-style:solid; - border-bottom-color:transparent; + +.config.switcher>div { + border-bottom-width: 2px; + border-bottom-style: solid; + border-bottom-color: transparent; margin-right: 4px; } -.config.switcher.on>div{ - border-bottom-color:rgb(0, 133, 255); -} -.config.toggle>div{ - width:60px; -} -.config.toggle>div>div{ - display:inline-block; - position:relative; - width:25px; - height:25px; - top:0; - left:0; - transition:all 0.3s; - padding: 0; -} -.config.toggle.on>div>div{ - left:calc(100% - 25px); -} -.config.more{ - z-index:1; -} -.config.more>div{ - display:inline-block; - transition:transform 0.3s -} -.config.more>div{ - transform:translateY(-2px); - font-family: 'huangcao','xinwei'; -} -.config.more.on>div{ - transform:rotate(90deg) translateX(-2px); + +.config.switcher.on>div { + border-bottom-color: rgb(0, 133, 255); } -.menubutton{ - text-align:center; - display:inline-block; - padding:5px; -} -.menubutton.large{ - font-size:30px; - line-height:30px; - font-family:'STXinwei','xinwei'; -} -.menubutton.round{ - width:40px; - height:40px; - border-radius:100%; - font-size:36px; - line-height:40px; - font-family:'xinwei' -} -.menubutton.left{ - float:left; -} -.menubutton.right{ - float:right; -} -.menubutton.search{ - text-align:left; -} -.menubutton.search:not(.focus){ - color:rgba(255,255,255,0.5); -} -.menubutton.dim{ - color:rgba(255,255,255,0.5); +.config.toggle>div { + width: 60px; } -@keyframes fadein{from{opacity:0}} -@-webkit-keyframes fadein{from{opacity:0}} -@keyframes menuslideup{from{top:100%}} -@-webkit-keyframes menuslideup{from{top:100%}} -@keyframes menuslidedown{to{top:100%}} -@-webkit-keyframes menuslidedown{to{top:100%}} -@keyframes menuzoomin{from{transform:scale(0.5);opacity:0;transform-origin:2px -35px}to{transform-origin:2px -35px}} -@-webkit-keyframes menuzoomin{from{transform:scale(0.5);opacity:0;transform-origin:2px -35px}to{transform-origin:2px -35px}} -@keyframes menuzoomout{from{transform-origin:2px -35px}to{transform:scale(0.5);opacity:0;transform-origin:2px -35px}} -@-webkit-keyframes menuzoomout{from{transform-origin:2px -35px}to{transform:scale(0.5);opacity:0;transform-origin:2px -35px}} +.config.toggle>div>div { + display: inline-block; + position: relative; + width: 25px; + height: 25px; + top: 0; + left: 0; + transition: all 0.3s; + padding: 0; +} + +.config.toggle.on>div>div { + left: calc(100% - 25px); +} + +.config.more { + z-index: 1; +} + +.config.more>div { + display: inline-block; + transition: transform 0.3s +} + +.config.more>div { + transform: translateY(-2px); + font-family: 'huangcao', 'xinwei'; +} + +.config.more.on>div { + transform: rotate(90deg) translateX(-2px); +} + +.menubutton { + text-align: center; + display: inline-block; + padding: 5px; +} + +.menubutton.large { + font-size: 30px; + line-height: 30px; + font-family: 'STXinwei', 'xinwei'; +} + +.menubutton.round { + width: 40px; + height: 40px; + border-radius: 100%; + font-size: 36px; + line-height: 40px; + font-family: 'xinwei' +} + +.menubutton.left { + float: left; +} + +.menubutton.right { + float: right; +} + +.menubutton.search { + text-align: left; +} + +.menubutton.search:not(.focus) { + color: rgba(255, 255, 255, 0.5); +} + +.menubutton.dim { + color: rgba(255, 255, 255, 0.5); +} + +@keyframes fadein { + from { + opacity: 0 + } +} + +@-webkit-keyframes fadein { + from { + opacity: 0 + } +} + +@keyframes menuslideup { + from { + top: 100% + } +} + +@-webkit-keyframes menuslideup { + from { + top: 100% + } +} + +@keyframes menuslidedown { + to { + top: 100% + } +} + +@-webkit-keyframes menuslidedown { + to { + top: 100% + } +} + +@keyframes menuzoomin { + from { + transform: scale(0.5); + opacity: 0; + transform-origin: 2px -35px + } + + to { + transform-origin: 2px -35px + } +} + +@-webkit-keyframes menuzoomin { + from { + transform: scale(0.5); + opacity: 0; + transform-origin: 2px -35px + } + + to { + transform-origin: 2px -35px + } +} + +@keyframes menuzoomout { + from { + transform-origin: 2px -35px + } + + to { + transform: scale(0.5); + opacity: 0; + transform-origin: 2px -35px + } +} + +@-webkit-keyframes menuzoomout { + from { + transform-origin: 2px -35px + } + + to { + transform: scale(0.5); + opacity: 0; + transform-origin: 2px -35px + } +} @@ -898,75 +1203,87 @@ input.fileinput::-webkit-file-upload-button { -.menu-buttons>.new_character{ +.menu-buttons>.new_character { display: block; position: relative; width: 100%; } -.menu-buttons>.new_character>.avatar{ + +.menu-buttons>.new_character>.avatar { background-size: cover; } + .menu-buttons>.new_character>.avatar, -.menu-buttons>.new_character>.card{ - top:8px; - left:12px; +.menu-buttons>.new_character>.card { + top: 8px; + left: 12px; position: absolute; width: 100px; height: 130px; margin: 0; } -.menu-buttons>.new_character>.card{ + +.menu-buttons>.new_character>.card { height: 100px; } -.menu-buttons>.new_character>.card:not(.fullskin){ + +.menu-buttons>.new_character>.card:not(.fullskin) { color: white; text-shadow: black 0px 0px 2px; transform: translateX(0px); background-image: url("image/card/hslingjian_jinjilengdong.jpg"); background-size: cover; } + .menu-buttons>.new_character>.avatar>input, -.menu-buttons>.new_character>.card>input{ +.menu-buttons>.new_character>.card>input { z-index: 3; border-radius: 8px; opacity: 0; width: 100%; height: 100%; - left:0; - top:0; + left: 0; + top: 0; position: absolute; } + #window[data-radius_size='reduce'] .menu-buttons>.new_character>.avatar>input, -#window[data-radius_size='reduce'] .menu-buttons>.new_character>.card>input{ - border-radius:4px; +#window[data-radius_size='reduce'] .menu-buttons>.new_character>.card>input { + border-radius: 4px; } + #window[data-radius_size='off'] .menu-buttons>.new_character>.avatar>input, -#window[data-radius_size='off'] .menu-buttons>.new_character>.card>input{ - border-radius:0px; +#window[data-radius_size='off'] .menu-buttons>.new_character>.card>input { + border-radius: 0px; } + #window[data-radius_size='increase'] .menu-buttons>.new_character>.avatar>input, -#window[data-radius_size='increase'] .menu-buttons>.new_character>.card>input{ - border-radius:16px; +#window[data-radius_size='increase'] .menu-buttons>.new_character>.card>input { + border-radius: 16px; } + .menu-buttons>.new_character>.avatar>.select_avatar, -.menu-buttons>.new_character>.card>.select_avatar{ +.menu-buttons>.new_character>.card>.select_avatar { font-family: 'xinwei'; font-size: 20px; width: 100%; height: 20px; line-height: 20px; - top:55px; - left:0; + top: 55px; + left: 0; text-align: center; } -.menu-buttons>.new_character>.card>.select_avatar{ - top:40px; + +.menu-buttons>.new_character>.card>.select_avatar { + top: 40px; } + .menu-buttons>.new_character>.avatar.inited>.select_avatar, -.menu-buttons>.new_character>.card.inited>.select_avatar{ +.menu-buttons>.new_character>.card.inited>.select_avatar { display: none; } -.menu-buttons>.new_character>.indent{ + +.menu-buttons>.new_character>.indent { display: block; margin-left: 123px; width: calc(100% - 135px); @@ -975,13 +1292,16 @@ input.fileinput::-webkit-file-upload-button { text-align: left; white-space: nowrap; } -.menu-buttons>.new_character>.indent>input{ + +.menu-buttons>.new_character>.indent>input { width: 60px; } -.menu-buttons>.new_character>div>select{ + +.menu-buttons>.new_character>div>select { margin-right: 3px; } -.menu-buttons>.new_character>.add_skill{ + +.menu-buttons>.new_character>.add_skill { position: absolute; left: 12px; top: 205px; @@ -989,35 +1309,44 @@ input.fileinput::-webkit-file-upload-button { line-height: 20px; white-space: nowrap; } -.menu-buttons>.new_character>.add_skill.options{ - top:160px; + +.menu-buttons>.new_character>.add_skill.options { + top: 160px; } -.menu-buttons>.new_character>.add_skill.options>span{ + +.menu-buttons>.new_character>.add_skill.options>span { margin-right: 10px; } -.menu-buttons>.new_character>.add_skill.create{ + +.menu-buttons>.new_character>.add_skill.create { top: 220px; } -.menu-buttons>.new_character>.add_skill.create>div{ + +.menu-buttons>.new_character>.add_skill.create>div { position: relative; } -.menu-buttons>.new_character>.add_skill.create>div.hidden{ + +.menu-buttons>.new_character>.add_skill.create>div.hidden { display: none; } -.menu-buttons>.new_character>.add_skill.create>div>textarea{ + +.menu-buttons>.new_character>.add_skill.create>div>textarea { resize: none; - width: 200px; - height: 100px; - margin-top: 5px; + width: 200px; + height: 100px; + margin-top: 5px; } -.menu-buttons>.new_character>.add_skill.create>div>div{ + +.menu-buttons>.new_character>.add_skill.create>div>div { position: relative; margin-top: 5px; } -.menu-buttons>.new_character>.add_skill.create>div>div>input{ + +.menu-buttons>.new_character>.add_skill.create>div>div>input { width: 120px; } -.menu-buttons>.new_character>.skill_list{ + +.menu-buttons>.new_character>.skill_list { position: absolute; left: 12px; top: 265px; @@ -1027,107 +1356,128 @@ input.fileinput::-webkit-file-upload-button { padding-bottom: 30px; transition: all 0s; } -.menu-buttons>.new_character>.skill_list>div{ + +.menu-buttons>.new_character>.skill_list>div { position: relative; width: 100%; margin: 0; padding: 0; height: auto; } -.menu-buttons>.new_character>.skill_list>div>div{ + +.menu-buttons>.new_character>.skill_list>div>div { position: relative; } -.menu-buttons>.new_character>.skill_list>div:first-child{ + +.menu-buttons>.new_character>.skill_list>div:first-child { margin-bottom: 10px; } -.menu-buttons>.new_character>.skill_list>div:first-child>div{ + +.menu-buttons>.new_character>.skill_list>div:first-child>div { width: calc(50% - 10px); margin-right: 10px; margin-top: 6px; } -.menu-buttons>.new_character>.skill_list>div:first-child>div>div{ + +.menu-buttons>.new_character>.skill_list>div:first-child>div>div { position: relative; } -.menu-buttons>.new_character>.skill_list>div:first-child>div>div:last-child{ + +.menu-buttons>.new_character>.skill_list>div:first-child>div>div:last-child { float: right; } -.menu-buttons>.new_character.export{ +.menu-buttons>.new_character.export { text-align: left; } -.menu-buttons>.new_character.export>div{ + +.menu-buttons>.new_character.export>div { position: relative; margin-left: 12px; margin-top: 5px; } -.menu-buttons>.new_character.export>div>input{ + +.menu-buttons>.new_character.export>div>input { width: 100px; margin-right: 5px; } -.menu-buttons>.new_character.export.import>div>input{ + +.menu-buttons>.new_character.export.import>div>input { width: 153px; } -.menubutton{ +.menubutton { box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 3px 10px; - border-radius:4px; - background-image: linear-gradient(rgba(75,75,75,1), rgba(70,70,70,1)); + border-radius: 4px; + background-image: linear-gradient(rgba(75, 75, 75, 1), rgba(70, 70, 70, 1)); } + .menubutton.large.blue, .menubutton.large.red, -.redbg{ - color:white !important; +.redbg { + color: white !important; box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.3) 0 3px 10px !important; } + .menubutton.active, -.menubutton.blue{ - background-image: linear-gradient(rgba(47,101,150,1), rgba(43, 90, 132,1)); +.menubutton.blue { + background-image: linear-gradient(rgba(47, 101, 150, 1), rgba(43, 90, 132, 1)); } + .tdnodes.selected, .text.selected, -.bluebg{ - background-image: linear-gradient(rgba(47,101,150,1), rgba(43, 90, 132,1)) !important; +.bluebg { + background-image: linear-gradient(rgba(47, 101, 150, 1), rgba(43, 90, 132, 1)) !important; } -#system>div>.pressdown{ + +#system>div>.pressdown { transform: scale(0.97); } + .control:not(.disabled) { transition: all 0.1s; } + .control:not(.disabled).controlpressdownx { transition: all 0.5s; } -#system>div>.pressdown2{ - background-image: linear-gradient(rgba(47,101,150,1), rgba(43, 90, 132,1)); + +#system>div>.pressdown2 { + background-image: linear-gradient(rgba(47, 101, 150, 1), rgba(43, 90, 132, 1)); } + .menubutton.highlight, -.menubutton.red{ +.menubutton.red { background-image: linear-gradient(rgba(150, 47, 47, 1), rgba(132, 43, 43, 1)); } + .menubutton.large.active, -.menubutton.large.lighlight{ +.menubutton.large.lighlight { box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.3) 0 3px 10px; } -.config.toggle>div{ - border-radius:25px; +.config.toggle>div { + border-radius: 25px; box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 0 10px inset; } -.config.toggle.on>div{ - background-color:rgba(47,101,150,1); + +.config.toggle.on>div { + background-color: rgba(47, 101, 150, 1); } -.config.toggle>div>div{ - border-radius:25px; - background-image: linear-gradient(rgba(75,75,75,1), rgba(70,70,70,1)); + +.config.toggle>div>div { + border-radius: 25px; + background-image: linear-gradient(rgba(75, 75, 75, 1), rgba(70, 70, 70, 1)); box-shadow: rgba(51, 51, 51, 1) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 3px 10px; } -.popup-container>.menu:not(.visual)>div:hover{ - color:white; - background-image: linear-gradient(rgba(47,101,150,1), rgba(43, 90, 132,1)); - box-shadow: rgba(0,0,0,0.2) 0 0 0 1px; +.popup-container>.menu:not(.visual)>div:hover { + color: white; + background-image: linear-gradient(rgba(47, 101, 150, 1), rgba(43, 90, 132, 1)); + box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px; } -.videonode.menubutton{ + +.videonode.menubutton { width: calc(100% - 50px); height: 70px; margin-bottom: 6px; @@ -1135,34 +1485,41 @@ input.fileinput::-webkit-file-upload-button { margin-top: 6px; overflow: hidden; } -.videonode.menubutton.extension{ + +.videonode.menubutton.extension { text-align: left; height: auto; max-height: 90px; } -.videonode.menubutton.extension.current{ + +.videonode.menubutton.extension.current { max-height: 400px; } -.videonode.menubutton>div{ + +.videonode.menubutton>div { position: absolute; } -.videonode.menubutton.extension>div{ + +.videonode.menubutton.extension>div { position: relative; display: block; } -#window:not(.nopointer) .videonode.menubutton.extension>.caption>.menubutton:not(.transparent2):not(.nopointer){ + +#window:not(.nopointer) .videonode.menubutton.extension>.caption>.menubutton:not(.transparent2):not(.nopointer) { cursor: pointer; } -.videonode.menubutton.extension>.caption>.menubutton{ + +.videonode.menubutton.extension>.caption>.menubutton { position: relative; float: right; font-size: 16px; padding: 0; text-align: center; width: 80px; - font-family:'STHeiti','SimHei','Microsoft JhengHei','Microsoft YaHei','WenQuanYi Micro Hei',Helvetica,Arial,sans-serif; + font-family: 'STHeiti', 'SimHei', 'Microsoft JhengHei', 'Microsoft YaHei', 'WenQuanYi Micro Hei', Helvetica, Arial, sans-serif; } -.videonode.menubutton.extension>.caption>.menubutton>a{ + +.videonode.menubutton.extension>.caption>.menubutton>a { margin: 0; padding: 0; width: 100%; @@ -1173,47 +1530,54 @@ input.fileinput::-webkit-file-upload-button { cursor: pointer; position: absolute; } -.videonode.menubutton>.videoavatar{ + +.videonode.menubutton>.videoavatar { width: 56px; height: 56px; - top:7px; - left:7px; + top: 7px; + left: 7px; background-size: cover; } -.videonode.menubutton>.videoavatar2{ + +.videonode.menubutton>.videoavatar2 { width: 20px; height: 20px; - top:47px; - left:3px; + top: 47px; + left: 3px; background-size: cover; border-radius: 100%; } -.videonode.menubutton>.caption{ + +.videonode.menubutton>.caption { display: inline-block; left: 84px; top: 6px; padding-top: 0; white-space: nowrap; } -.videonode.menubutton.extension>.caption{ + +.videonode.menubutton.extension>.caption { left: 0; top: 0; margin-left: 2px; } -.videonode.menubutton>.text{ + +.videonode.menubutton>.text { font-size: 14px; left: 85px; top: 35px; line-height: 20px; text-align: left; - font-family:'STHeiti','SimHei','Microsoft JhengHei','Microsoft YaHei','WenQuanYi Micro Hei',Helvetica,Arial,sans-serif + font-family: 'STHeiti', 'SimHei', 'Microsoft JhengHei', 'Microsoft YaHei', 'WenQuanYi Micro Hei', Helvetica, Arial, sans-serif } -.videonode.menubutton.extension>.text{ + +.videonode.menubutton.extension>.text { left: 0; top: 0; margin-left: 5px; } -.videonode.menubutton.extension>.text.author>span{ + +.videonode.menubutton.extension>.text.author>span { /*float: right;*/ position: absolute; right: 0; @@ -1223,20 +1587,23 @@ input.fileinput::-webkit-file-upload-button { text-align: center; opacity: 0; } -.videonode.menubutton.extension.current>.text.author>span{ + +.videonode.menubutton.extension.current>.text.author>span { opacity: 1; } -.videonode.menubutton>.victory{ - font-family: 'huangcao','xinwei'; + +.videonode.menubutton>.victory { + font-family: 'huangcao', 'xinwei'; font-size: 25px; - text-shadow: black 0 0 1px,rgba(255, 203, 0,1) 0 0 2px,rgba(255, 203, 0,1) 0 0 5px,rgba(255, 203, 0,1) 0 0 5px, - rgba(255, 203, 0,1) 0 0 5px,black 0 0 1px; - color:white; + text-shadow: black 0 0 1px, rgba(255, 203, 0, 1) 0 0 2px, rgba(255, 203, 0, 1) 0 0 5px, rgba(255, 203, 0, 1) 0 0 5px, + rgba(255, 203, 0, 1) 0 0 5px, black 0 0 1px; + color: white; position: absolute; left: 48px; top: 48px; } -.videonode>.video_star{ + +.videonode>.video_star { opacity: 0; position: absolute; left: 196px; @@ -1247,23 +1614,26 @@ input.fileinput::-webkit-file-upload-button { line-height: 20px; text-align: center; } -.videonode:not(.starred):hover>.video_star{ + +.videonode:not(.starred):hover>.video_star { opacity: 0.5; } -.videonode.starred>.video_star{ + +.videonode.starred>.video_star { opacity: 1 } -.onlineclient .videonode{ +.onlineclient .videonode { margin: 5px; - padding: 0; - width: calc(100% - 20px); - height: 30px; + padding: 0; + width: calc(100% - 20px); + height: 30px; overflow: visible; - border-top-left-radius:10px; - border-bottom-left-radius:10px; + border-top-left-radius: 10px; + border-bottom-left-radius: 10px; } -.onlineclient .videonode>.videoavatar{ + +.onlineclient .videonode>.videoavatar { padding: 0; left: -4px; top: -2px; @@ -1271,15 +1641,18 @@ input.fileinput::-webkit-file-upload-button { height: 34px; border-radius: 100%; } -.onlineclient .videotext{ + +.onlineclient .videotext { margin-top: 0px; font-size: 14px; width: calc(100% - 30px); } -.onlineclient .onlineevent.videotext{ + +.onlineclient .onlineevent.videotext { margin-top: 2px; } -.onlineclient .videonode>.name{ + +.onlineclient .videonode>.name { left: 35px; max-width: 125px; overflow: hidden; @@ -1288,12 +1661,14 @@ input.fileinput::-webkit-file-upload-button { height: 30px; line-height: 30px; font-size: 18px; - font-family: 'lishu','xinwei'; + font-family: 'lishu', 'xinwei'; } -.onlineclient .videonode.videonodestatus{ + +.onlineclient .videonode.videonodestatus { height: auto; } -.onlineclient .videonode.videonodestatus>.videostatus{ + +.onlineclient .videonode.videonodestatus>.videostatus { position: relative; display: block; margin-left: 10px; @@ -1301,50 +1676,56 @@ input.fileinput::-webkit-file-upload-button { margin-bottom: 5px; width: calc(100% - 20px); } -.onlineevent>div{ + +.onlineevent>div { text-align: left; position: relative; display: block; margin-top: 5px; margin-bottom: 5px; } -.onlineevent>div.title{ + +.onlineevent>div.title { font-family: 'xinwei'; font-size: 18px; } -.button-downloading>.button-progress{ +.button-downloading>.button-progress { width: 100%; border-radius: 4px; z-index: 1; overflow: hidden; } -.button-downloading>.button-progress>div{ + +.button-downloading>.button-progress>div { width: 0; height: 100%; position: absolute; left: 0px; top: 0px; border-radius: 0px; - background: linear-gradient(rgb(29,206,68),rgb(1,148,46)); + background: linear-gradient(rgb(29, 206, 68), rgb(1, 148, 46)); } -.button-downloading>div:not(.button-progress){ + +.button-downloading>div:not(.button-progress) { width: 100% !important; z-index: 2; } -.button-downloading>span{ + +.button-downloading>span { opacity: 0; } -.button-downloading>div{ + +.button-downloading>div { height: 100%; margin: 0 !important; padding: 0 !important; position: absolute !important; left: 0 !important; - top:0; + top: 0; } -.menu-buttons .file-container{ +.menu-buttons .file-container { position: absolute; margin: 0; padding: 0; @@ -1354,7 +1735,8 @@ input.fileinput::-webkit-file-upload-button { height: 100%; overflow: scroll; } -.menu-buttons .file-container>div{ + +.menu-buttons .file-container>div { position: relative; left: 0; display: block; @@ -1363,37 +1745,43 @@ input.fileinput::-webkit-file-upload-button { white-space: nowrap; text-align: left; } -.menu-buttons .file-container>div>span{ + +.menu-buttons .file-container>div>span { cursor: pointer; text-decoration: underline; } -.menu-buttons .file-container>div>img{ + +.menu-buttons .file-container>div>img { display: block; margin-top: 5px; } -.menubutton.large.dashboard{ +.menubutton.large.dashboard { width: 80px; height: 80px; margin: 6px; position: relative !important; } -.menubutton.large.dashboard.dashboard2{ + +.menubutton.large.dashboard.dashboard2 { width: 60px; height: 60px; margin: 5px; margin-top: 10px; } -.menubutton.large.dashboard.dashboard2>div:first-child{ + +.menubutton.large.dashboard.dashboard2>div:first-child { font-size: 40px; line-height: 40px; } -.menubutton.large.dashboard.dashboard2>div:last-child{ + +.menubutton.large.dashboard.dashboard2>div:last-child { font-size: 16px; white-space: nowrap; } -.menubutton.large.dashboard>div:first-child{ - font-family: 'lishu','xiaozhuan'; + +.menubutton.large.dashboard>div:first-child { + font-family: 'lishu', 'xiaozhuan'; font-size: 60px; line-height: 60px; position: absolute; @@ -1402,22 +1790,26 @@ input.fileinput::-webkit-file-upload-button { width: 100%; height: 60px; } -.menubutton.large.dashboard>div:last-child{ + +.menubutton.large.dashboard>div:last-child { font-size: 18px; position: absolute; left: 0; bottom: 0; width: 100%; } -.favmode{ + +.favmode { float: right; } -#create-extension{ + +#create-extension { height: calc(100% - 5px); width: calc(100% - 10px); overflow: hidden; } -#create-extension>div{ + +#create-extension>div { position: absolute; width: 100%; height: 100%; @@ -1425,41 +1817,51 @@ input.fileinput::-webkit-file-upload-button { left: 0; top: 0; } -#create-extension>.menu-buttons{ - left:10px; + +#create-extension>.menu-buttons { + left: 10px; height: calc(100% - 5px); width: calc(100% - 15px) !important; } -#create-extension>.menu-buttons>.config.more{ + +#create-extension>.menu-buttons>.config.more { margin-left: 0px !important; margin-top: 10px !important; } -#create-extension>.menu-buttons>.config.more.margin-bottom{ + +#create-extension>.menu-buttons>.config.more.margin-bottom { margin-left: 0px !important; margin-top: 10px !important; margin-bottom: 5px !important; } -#create-extension>.hidden{ + +#create-extension>.hidden { pointer-events: none; } -#create-extension>div:not(*:first-child).hidden{ + +#create-extension>div:not(*:first-child).hidden { transform: translateX(200px); } -#create-extension>.menu-buttons>.new_character>.skill_list{ - top: 245px; + +#create-extension>.menu-buttons>.new_character>.skill_list { + top: 245px; } -#create-extension>.menu-buttons>.new_character>.skill_list>div:first-child{ + +#create-extension>.menu-buttons>.new_character>.skill_list>div:first-child { transition: all 0s; } -#create-extension>.menu-buttons>.new_character>.skill_list>div:first-child:not(*:empty){ + +#create-extension>.menu-buttons>.new_character>.skill_list>div:first-child:not(*:empty) { margin-top: 10px; margin-bottom: 10px; } -#create-extension>.menu-buttons>.new_character>.skill_list>div:first-child>button{ + +#create-extension>.menu-buttons>.new_character>.skill_list>div:first-child>button { margin-right: 3px; margin-bottom: 3px; } -.popup-container.editor>div{ + +.popup-container.editor>div { width: 80%; height: 90%; position: absolute; @@ -1470,10 +1872,11 @@ input.fileinput::-webkit-file-upload-button { background: white; overflow: hidden; } -.popup-container.editor>div>.editbutton{ + +.popup-container.editor>div>.editbutton { font-family: 'lishu'; font-size: 18px; - color: rgb(60,60,60); + color: rgb(60, 60, 60); text-shadow: none; position: absolute; left: 0; @@ -1481,71 +1884,84 @@ input.fileinput::-webkit-file-upload-button { font-size: 24px; cursor: pointer; } -.popup-container.editor>div>.editbutton:first-child{ + +.popup-container.editor>div>.editbutton:first-child { left: auto; right: 0; } -.popup-container.editor>div>div:last-child{ + +.popup-container.editor>div>div:last-child { width: 100%; height: calc(100% - 40px); position: absolute; - top:40px; + top: 40px; border-radius: 0 0 4px 4px; - border-top: 1px solid rgba(0,0,0,0.2); + border-top: 1px solid rgba(0, 0, 0, 0.2); } -.popup-container.editor>div>div:last-child>textarea{ + +.popup-container.editor>div>div:last-child>textarea { width: 100%; height: 100%; - border:none; - margin:0; + border: none; + margin: 0; padding: 0; resize: none; } + .menubutton.large.new_card, -.menubutton.large.new_card_delete{ +.menubutton.large.new_card_delete { left: 12px; top: 130px; margin-bottom: 20px; } -.menubutton.large.new_card_delete{ + +.menubutton.large.new_card_delete { left: 155px; } -.edit_pile{ + +.edit_pile { width: 100%; left: 0; padding-bottom: 20px; } -.edit_pile>div:last-child{ + +.edit_pile>div:last-child { width: 100%; position: relative; } -.edit_pile>div:last-child>button{ + +.edit_pile>div:last-child>button { margin-right: 3px; - margin-top: 3px; + margin-top: 3px; } -.new_character.new_skill>div{ + +.new_character.new_skill>div { position: relative; margin-top: 2px; white-space: nowrap; overflow: visible; } -.new_character.new_skill>div>button{ + +.new_character.new_skill>div>button { margin-right: 3px; } -.menu-buttons.new_skill>.menubutton{ + +.menu-buttons.new_skill>.menubutton { position: relative; - margin:5px; + margin: 5px; } -.new_character.new_skill>.menubutton.large{ + +.new_character.new_skill>.menubutton.large { left: 13px; position: absolute; top: 88px; } -.new_character.new_skill>.menubutton.large.new_card_delete{ + +.new_character.new_skill>.menubutton.large.new_card_delete { left: 155px; } -.popup-container>.prompt-container{ +.popup-container>.prompt-container { display: table; width: 100%; height: 100%; @@ -1554,17 +1970,20 @@ input.fileinput::-webkit-file-upload-button { margin: 0; padding: 0; } -.popup-container>.prompt-container>div{ + +.popup-container>.prompt-container>div { height: auto; display: table-cell; vertical-align: middle; text-align: center; position: relative; } -.popup-container>.prompt-container>div>div{ + +.popup-container>.prompt-container>div>div { position: relative; } -.popup-container>.prompt-container>div>div>div{ + +.popup-container>.prompt-container>div>div>div { display: block; width: calc(100% - 10px); margin-top: 15px; @@ -1575,13 +1994,15 @@ input.fileinput::-webkit-file-upload-button { position: relative; width: 230px; } + /* .popup-container>.prompt-container>div>div>div:first-child{ */ - /*text-align: left;*/ +/*text-align: left;*/ /* } */ -.popup-container>.prompt-container>div>div>div:last-child{ +.popup-container>.prompt-container>div>div>div:last-child { margin-bottom: 15px; } -.popup-container>.prompt-container>div>div>div>input{ + +.popup-container>.prompt-container>div>div>div>input { text-align: left; width: 100%; resize: none; @@ -1590,7 +2011,8 @@ input.fileinput::-webkit-file-upload-button { height: 20px; box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px 1px; } -.popup-container>.prompt-container>div>div>div>.menubutton{ + +.popup-container>.prompt-container>div>div>div>.menubutton { position: relative; margin-left: 6px; margin-right: 6px; @@ -1598,6 +2020,7 @@ input.fileinput::-webkit-file-upload-button { padding-top: 2px; padding-bottom: 2px; } -#window:not(.nopointer) .popup-container>.prompt-container>div>div>div>.menubutton{ + +#window:not(.nopointer) .popup-container>.prompt-container>div>div>div>.menubutton { cursor: pointer; -} +} \ No newline at end of file From 7cee261cc75e324147c80599a6bd0ae5114e99b4 Mon Sep 17 00:00:00 2001 From: Tipx-L <138244655+Tipx-L@users.noreply.github.com> Date: Wed, 20 Sep 2023 02:41:16 -0700 Subject: [PATCH 2/5] Add the ability for lib.element.player.damage to detect lib.element.event.customSource. --- card/standard.js | 2 +- game/game.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/card/standard.js b/card/standard.js index 5dd062144..f5bf259d3 100644 --- a/card/standard.js +++ b/card/standard.js @@ -895,7 +895,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } "step 1" if(result.bool==false){ - target.damage(event.baseDamage,event.customSource||player); + target.damage(event.baseDamage); } }, ai:{ diff --git a/game/game.js b/game/game.js index 913b67f07..234373256 100644 --- a/game/game.js +++ b/game/game.js @@ -23780,7 +23780,7 @@ } if(next.card==undefined&&!nocard) next.card=event.card; if(next.cards==undefined&&!nocard) next.cards=event.cards; - if(next.source==undefined&&!nosource) next.source=event.player; + if(next.source==undefined&&!nosource) next.source=event.customSource||event.player; if(next.source&&next.source.isDead()) delete next.source; if(next.unreal==undefined) next.unreal=false; if(next.num==undefined) next.num=1; From dd5fb6d5afe302775e38ce4012dc4e4abb054826 Mon Sep 17 00:00:00 2001 From: Tipx-L <138244655+Tipx-L@users.noreply.github.com> Date: Wed, 20 Sep 2023 04:21:51 -0700 Subject: [PATCH 3/5] Add the ability for lib.element.player.damage to detect lib.element.event.baseDamage and lib.element.event.extraDamage. --- card/extra.js | 4 ++-- card/guozhan.js | 8 ++++---- card/standard.js | 18 +++++++++--------- card/yingbian.js | 2 +- card/yongjian.js | 7 ++++--- character/refresh.js | 2 +- game/game.js | 6 +++--- 7 files changed, 24 insertions(+), 23 deletions(-) diff --git a/card/extra.js b/card/extra.js index 98187bd2d..f1dc21b7a 100644 --- a/card/extra.js +++ b/card/extra.js @@ -68,7 +68,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ content:function(){ if(typeof event.baseDamage!='number') event.baseDamage=1; if(target.isDying()||event.getParent(2).type=='dying'){ - target.recover(event.baseDamage); + target.recover(); if(_status.currentPhase==target){ target.getStat().card.jiu--; } @@ -210,7 +210,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ game.delay(2); "step 2" if(result.bool){ - target.damage('fire',event.baseDamage||1); + target.damage('fire'); } else{ target.addTempSkill('huogong2'); diff --git a/card/guozhan.js b/card/guozhan.js index 488a927fb..cde521ddd 100644 --- a/card/guozhan.js +++ b/card/guozhan.js @@ -462,13 +462,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){ target.discard(target.getCards('e',function(card){ return lib.filter.cardDiscardable(card,target,'shuiyanqijunx'); })); - target.damage('thunder',event.baseDamage||1); + target.damage('thunder'); event.finish(); } else if(!target.countCards('e',function(card){ return lib.filter.cardDiscardable(card,target,'shuiyanqijunx'); })){ - var next=target.damage(event.baseDamage||1); + var next=target.damage(); if(!get.is.single()) next.nature='thunder'; event.finish(); return; @@ -489,7 +489,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ })); } else{ - var next=target.damage(event.baseDamage||1); + var next=target.damage(); if(!get.is.single()) next.nature='thunder' } event.finish(); @@ -861,7 +861,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ selectTarget:-1, modTarget:true, content:function(){ - target.damage('fire',event.baseDamage||1); + target.damage('fire'); }, ai:{ order:5, diff --git a/card/standard.js b/card/standard.js index f5bf259d3..8261b1e42 100644 --- a/card/standard.js +++ b/card/standard.js @@ -171,7 +171,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } "step 3" if((!result||!result.bool||!result.result||result.result!='shaned')&&!event.unhurt){ - target.damage(get.nature(event.card),event.baseDamage+event.extraDamage); + target.damage(get.nature(event.card)); event.result={bool:true} event.trigger('shaDamage'); } @@ -193,7 +193,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }); "step 5" if((!result||!result.bool)&&!event.unhurt){ - target.damage(get.nature(event.card),event.baseDamage+event.extraDamage); + target.damage(get.nature(event.card)); event.result={bool:true} event.trigger('shaDamage'); event.finish(); @@ -203,7 +203,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } "step 6" if((!result||!result.bool)&&!event.unhurt){ - target.damage(get.nature(event.card),event.baseDamage+event.extraDamage); + target.damage(get.nature(event.card)); event.result={bool:true} event.trigger('shaDamage'); event.finish(); @@ -388,7 +388,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ return target.hp0) return 1; diff --git a/character/refresh.js b/character/refresh.js index c2fbdf18d..ab6f5a6f6 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -1080,7 +1080,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ game.delay(2); "step 2" if(result.bool){ - target.damage('fire',event.baseDamage||1); + target.damage('fire'); } else{ target.addTempSkill('huogong2'); diff --git a/game/game.js b/game/game.js index 234373256..37f976c59 100644 --- a/game/game.js +++ b/game/game.js @@ -23783,7 +23783,7 @@ if(next.source==undefined&&!nosource) next.source=event.customSource||event.player; if(next.source&&next.source.isDead()) delete next.source; if(next.unreal==undefined) next.unreal=false; - if(next.num==undefined) next.num=1; + if(next.num==undefined) next.num=(event.baseDamage||1)+(event.extraDamage||0); next.original_num=next.num; next.change_history=[]; if(next.nature=='poison') delete next._triggered; @@ -23833,8 +23833,8 @@ } if(next.card==undefined&&!nocard) next.card=event.card; if(next.cards==undefined&&!nocard) next.cards=event.cards; - if(next.source==undefined&&!nosource) next.source=event.player; - if(next.num==undefined) next.num=1; + if(next.source==undefined&&!nosource) next.source=event.customSource||event.player; + if(next.num==undefined) next.num=(event.baseDamage||1)+(event.extraDamage||0); if(next.num<=0) _status.event.next.remove(next); next.setContent('recover'); return next; From 98534ec3793cc30d043f2b5c17f6bb8f39079481 Mon Sep 17 00:00:00 2001 From: Tipx-L <138244655+Tipx-L@users.noreply.github.com> Date: Wed, 20 Sep 2023 04:22:18 -0700 Subject: [PATCH 4/5] Add group images. --- image/card/group_jin.png | Bin 0 -> 17722 bytes image/card/group_shen.png | Bin 0 -> 3660 bytes image/card/group_western.png | Bin 0 -> 2545 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 image/card/group_jin.png create mode 100644 image/card/group_shen.png create mode 100644 image/card/group_western.png diff --git a/image/card/group_jin.png b/image/card/group_jin.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb09582976c03fcc76cca2922096294f5d8a964 GIT binary patch literal 17722 zcmV(`K-0g8P)$PcPH^T3!2^du;B0&(VW>WJYCI&tL>8&AdD!D$>K_o_p5+|C|*5 z4nKiNBqNciDS_`n_CE^McNoS!F4T8mPD{jvh9-BAsw)yMH-2n6EKRh)rTYF&O)2Mt|AKF7%=ANImeF~;*bD#g< z@Xw)m3ucq!J8^)e_R0RQx0vlU;@?FeiG<=fL*NqdG%6W|j9Hcm1F5udB@#3eQB*`9 zSy)|ISY3Ese#v`I3g+v6?8Mjg_V?zC9!@+zd0kV-J7n6$Z73s6n2kKK%mvwF)q|WO z#cPPzu|U$%Zax0g$L$t-{Pqd_9e*6hI0gDA;D1k6<3%GH5IKoVX;JYLr=n~_4Ox143qZJhcwc~H4k8Fv@A193OuM~)$)V#$D zu>w3pCciH+{x&`9b0I#^Q|z(fs>?(=h-5)k8YiIY2!4F4>I6C7&Ee#8L4r4eiQZ^T zI3bXD;&Ha{_()*p1aA&;C$t*VDkiFkvE8N22zxEdYJNzsG-=pwvuw?5Da8^ArWX6CFT`~#Uh|}E_5c5a&%p)d9 z{m7I>9^Gg1n7tNG*!@L6;|rGgq_IftxoRIPP(NlL8ejo5N9ojNF!e1aWGIQA22R;t z8gNekL~h!)I~}koFa|~-<3?+K4WWd;rSpGOLymqf(vAO>^z2o(9L`hfvXt~ywHr+G zXegpIag~UOw%T!Ip5%BJt3cLjKsMj?f-LU#%pq@&%%LOAdvl;@kE}hpBI=Lv6DM~3Nk=^Yznl}M3p4|ZxJJa{39V@~4Accrih`1aB#tXqS+mG9utpH` zYYWqMF&tNU)b|+DWDH`BYqEfjE(T~`W3l%%a4e_S+`opiP* zoN&J2pckL#3%{4UkeL$=i-;9Soh7y0A*+=j0wIM4W?Q?5ndEoLzO@G1Cm< z0gj8~E=Li5wh(#Q*F|6onxSX{waS9jo=eg?lvGTacx8EaMYpSx2X$>#T`-+)5m_eB zw?yOuquIZ8_^1t=%dZ!ReZ`N=Ul{_Mbh2}F(-wW8k7yT_+(B`55H~|&6g5;u1aD1` zNVX6SW$H)KQM2$ur}ZHPP`G=3tVMMmvn+?yDN~)fShq}N5xdeYnRJVx4hYkJXFzxJ z-0I+|XP;U*eeP7adHq)X*#}qe-Tv~y!)X17I*oU1#+OubM=CLr8sOp>PX1_MDY8(N zP(f>bS~y$t zovcmIHAFWxQw!uIYC{BfJP%3TN=h?}F=|lDzJ~e)}JNXL*zzW?L6FUcmLBXUT7 z@AK|vT;Ki8Vo;85y)oOckjhQP0XkRr`ny5gP#gb}{Bc=>z?wwj76Hsn&88oen&Vd#BGW z^M1*xR-d90VbM_>ns-Eh$`p^of zty8*~;W#MNrpYvSu}ThER-0``x9D zjin1OY%M?e{q?wUWx&?OK6Ie&K-O<{DF9xAK&d%F8`WY8>;Z>R-G#%QDfjN|v$vfX zAH;h1!F2S&d)Gd?_v!WrgL*I%JVVIaB+*Z7$9Z)SYgwzodE-RE5Cd84^F*&dSj>F)5FoeOePc7H`Zi4 zK45Kgg(sdnO=lCbC6J{?K{Ex{d0>CCn#)Pcy*zM~N>rXzo zc5w6h&c4v!FJyTKU%kCLTi&h912ahxD0Bg-5dVr(mlKau8|>&p!LnX>j|rmS2x?84 z9(8wA)pE0_C~#}G0BlTjX;Po#ujXnvPL?wvEEs4;j^;@J!ynN zO=Tr@1>LN%Q-K^!h9t!v9DArw-`L~N{^g%h-|S2uzBxNslg)9VGEtb~I(CyOc2tL;knQMr(F;MNeC?bX@5m9%?-OVu-S5(vn zB2-purIkggH2gBEz#L{X)^L7^CYmSF%tbng=VDTnrF9OsOWl1q8{hcy4%Kcs%RYJ>1YGH}cZgp)m!h_&Zu-FL1gOF74=y)6193MWfZMO6! zm&N>ME|3O|a2yjuEqVMZEZAzEOo7ux{V(aH@5lzHI8RqsYt@cUq>NLAq_HkET0rO3 z+@rF(HYIXzpNj=i3AknfB_&OgdWXw;e!ILq(>wPjvz_;^?j!XuX4)C_`rT@{-|2tL z<3Ic#{s3Fg8^d@A_dbEY{#WnT+*~TxY{eg3oAU5MnV+t5PG5rEJE+7-racIo6M5wa z&lIQ5p9k`B_*$`AbHf7RjE#5LfNc`lbTY?QAn*AnZc6hbX_$b@qt>S*TioH_$KJ9 zsDDdxo@O1<4U|3=kwhs*62$ySrNU$Q6~|DmHv$sT&|nb;Vje7}s9{QNhklS0ih5?& zHx;i|3D0a^j>Aqq591i$hg)AH{GdohnR{tDxHn;NXz~;3Or_R?j83NC{==8Dmwx9; zSi6w1w|$B;FP+Z6eDmh;#?S8!x3A82?I7z?TV9nZb4)S>J2pdeB(ZFZopp0qI)Osg zKytzIe!<~5rI}5uZpLAie5|gE8`)^1j&Wg`r$|_AGWPNm6 zZjquC2x|!6q?X^6ZhDp#k8EPPq^<=f8ICxbBN9*z4FDx4FmGuoJ(-CGf!v7!$lR+a zQg_jD&vm*~YrPDy8?2v`L}z8KWg6*leKlTqely#;xYU#z+xTSn{)C%X@7v+H^p0m# zSxLxdQf6bSxI*jzof>*$B^C5mJM>q8HRwc`mBwl(a{9t4E_V{)If~SRj3Hl!=T~5PxYFzEbEp66;m;=Nz$!^5h~)@*ZCaPi zDnU{dwd56skx3?!M;Vg}%f`KnPZwuj_|`MeJpb|&%Nu7j?j10l9B@-5^#T$di4K-p zNOGQAN*hSDd8EZmE@B=@6gW@N=MO}9lAcG-#az$gtZCB1YRO$Sq8dQ8b`?Q`h=4qf z719Dwmg5%9H3zbq)U(;%^7%_E7r*)2FT8yD`ms^{bV*tRue*==Y5KmCs*>p znT-CX9C1WOyCrw8J@nZK7cG!H6YY-lrSD$Rr(WEobE*l8hZ5;;1%CY6>#R)I*}VJ% zE?r)2+-cT2Oam%`HCVp_YgdOI?J`J*Hfh74%*;B8kYem6sF~G=Dq3l`m&Xt$+1O|O zu-fl$o?lx1?vE~?e(Kq+VtEimopkMs?VX>z_V#b@y4zoX|kV&k(4?IcKA4xZR z8LCx!R&t74dNI#fsVeQ(F3L!whKAv1sCpIx5^#;6;$n~E*apQS)UEjIMy8hzJ zPd@kRZ(LfxZd1K8z8OoO_F~M;J>|V#o9PU+=v%o|S zAotwFdd)&vM^$ZRHD1@+?MPf*?RPr8x>Kg@{PdaS{-sx+SJF0MgpQKG5@2_Ds5v?-uHLft$%6pP{(8<^HIT=R%_);3pGEfAagBec@tLT<=0L=r#Ls1nFKw__+Ryd+gt+?BUh2HuqSE zx(8)MYOB>^e`_h*FZYV&^UK|rUb!+@-;7b>NViT8*m`P}={o2D(jI*9)|dVl|I6z) z)5HGT<^92@deGl<@w)NnB9CELiJnlA=zN!qbp~`0`i{_M=ivl>Ckt+wHX&~itSCvv_Q7HAKxbKgX29|${LY^|8+!K#OMmq* z-yrWT>-`6Jqv=#UIu@Lu0Ro(TVv~*YL3^9M_`~nMDytU@8NM3Xd?iPh+il>`JJo{? zIQzuK<8K>lC`%X#%({eI@a|vU?zX2#RfC1-`i8K!zhDu#8^uB!w@13?v)ws;ZRL{FO1y#)wgCyaSP zF$!dg6@q4h#VpUY@*s4Z;8;4)+X&e-+wD@-UaW-Z@sK2AREy>tbYb)SkbnB${Sm!- zpdC6~-~WuP=u+kxosb_Vw+oq(dsD|~ayo?rXZq!sH~!-_{?otvD2?uCDR^|vRAZ;^ zRADSDmrjMJUc8*GU0Kr8-|3UBLvPSrGs_Jvz>B7k5^9h`SY0jn#w*{`GqX|e=Iak< z^*t*E>XKTjxjHn=7G0Y1(BT{k+*1!%+t zqzk=E@RV#ZyAN;v)yKSd^%wl;JKuX0;q=D@lTK4oc1RO={f#gA>o>Of;{L?D-HD#N zkm==TFNf0?H^qx2{f#~w=L`Cq&^^`sYKSfKS0RL!BWXFIWtVvk)pTYzuV35U-X7H% zJ@3&~e~jbS>#7_uEN42PCmDfKLen52uF{aDLn{n@Oe?@6k<}vc zEs5spa{1Ns&{2r( z+Ir&$bOY|+xXaH!e}jAb_gkRq>tSf&(b~b?-3f1e@GhU+*=F_fdib5+eL>bvbvScr zi3AiPTG7UNXArchRW1^rkJ;&>Cxy_`c&u=w>*75pbOr5!_Z;gU zOh>)4vaT1pymfIob~=q?JbP}7D=%N+sc&7NbGg%iQsKnz?|~3`^0{ZZ_`)SN&ke~t zLe|N@iszhcDQnPHHqQ)s{u>wg_HSL5Ctlg)!t={)T@ms%2&-+EMHjqqLT-%~gmz86 zCCqD}+@BFf0V-kl%Uwnf4y)&$d`=E`cJCY>Y~Ll-2Tq(Qp%kbbW{4(`)MoDHh=aRh z4(@Ty4|K^hElkNRlZ;A*T1mNx5Jiv^yxS9@t6w{Lz~?b_P%MH@{J=htn@YSP?ca_8w*X`ibU=3gT+c`l@n%sdwB-B7ciE429vj zf+xCLc&+rivH6^%ofrV@4-99Yym_=!+${@ZQg^ccoV^rEEpcJyXE2&6wupx0CHR z0rFwX8_e}lBOt#7{ak>CvZag+Ic68POQiuc7_MoKjvRm8#e1k=d;sMhly~8?H?K3h zujMkQMz`O8aO15vu721l&Q51_sMLemu_#YA5Y3I%Q4eTbt&L0)h0@$)yA0aY`qf-R zONKbvMwXk9i&zG93@ut(XiIdX3v?0d;&j2fKqnA8G0U>Du3|MycK74$@o0Q6+udF6 z{@{;ak_*rE@i~!{Hnf!Eyw(Fv0r3c3&3{SE@>LCy0NET{NelcxX**3cJHknu3unjP zw|#$g7w%t!8z1ek^YQ)q&DY+&Gu@V3vFzWn{dg^_d$+8v4#c$drXH}EmHRItTM>ue z)yy-=5EU=A0gXi+38JcPE85AXnP_S)=T;gzf>_tkBle-X^?+_L>r1M8xDSLd5YgVO zob*F3`DPqsX}^+(@9fl{?w3`#_epmDo2O;@tZ??J0p0Wcrf!@qG_=Uvdic@)(nW5F zKjy3YV_d49C}SlvHyV0THi6x@Cj8aEcx|V?7q6$C-i>O%yi?bH zFVBkmwfnQ5{B!9G2-!g`q4=%m5tf{aurS#Y#BN8>3sWp31LBvHg9f!ClJ705k zGN2<^(H6YBIGu*RrajPZz?Z^kdBk7nAxy@wdjoE~ zf1mn+pnF<>_Rg0F`yWj|_TB87rtZC*!GnzM4k_+6?NT;HtiruoBtI-@i7nppoMjgk zm2kWxR5{8y#J>tY9WmF%>8V>0M7lIJ{65e(Vz(i5>JpL$Ax}%5vs`v;rON7o6_f7j znSSSc-+!jJvN{NEBDJa9yuKqJfBFgAdwUYJAj&+zZ#hOsYi3{V^?#gJ%)?=n}Lx(9$m(6!qHZLr1zWD8@HnyJH$WuO%?jVy3XZli3VSHGkA(P?R zAy>Y0mdX#qH)uNNWX?rsSKJg9he5bL#$2@vE_Pf(GCf}WTG~Auj(c(E`*;M^ z0qk$XY#-kJ@u&5dAKuu%@yVT?*><_zwf=6F#l0b$yPd4wO=i2U;Q;3l7^yP`W({mh zdh~cCX>t=VZ_eKEhKSN4S53FZp(q&b!Dk;G`eeK2-M8PRI}H5jAAOVc^UBhNRdm?W ztxq=Jr`8#Zel@=#nS3W3l&do@ex;bb3+4pt9-eVLCizq1uvlKeKY7v-#w6S2iv_ ze>V5QSWaJFXZaND9@O0V@*&qgz0aGked6Q&S_Vsf`Sy>#%f^)s!^=%lmei@d*(zZk z_LdxV30706YsdUi{$`XVxxt z@~2+eV)+8p{l+O*58=+IyZqb#`TwNcpV2Kk`uG3n`}8gkdH%OH&@OnVxk)p@7n=Yk zFda8GeKLXDx3`%b&gd;go_ckSqMwMpHvH8#u4zM6ox;vlxcbgLZhmsl-~98pEli7~ zjOptmEHfeeFvsNgR zg{@OA3@30sp21=6-uR7Xd`Clb#HmO}8lqp*a(l9cdEQ>ubM`tIuXyX7H|Y&~{NOjg%Y`R5IQ{$v*#*c?HMg4TX81ui zXVjKpyD-^>(KbvDoxlE@clhX&&wS@#U;10{->m-$7oJ&ZzKG9zp!7(qc0YwT{=;?N z{L8n}!JTQ9w(~kn@{+Mu>T#AyHj5HxL3)$E$Rv@b2aLwaWukQ$2aS{3ZQ^od@FtBQ zta0386I>UK;G!_<1y;%;Z`ia+1}!Nz4bk^qI50ov_ReRK91BMm&DLVAstejRV&7%D z;@!Q?)6e!VJ^#DC)ffMGAe>(4APj(3#GY{Ka>n=n(W_V)SXm#kdL}0u!ibtYMo3`$ ztuXeWyagY;^^kg!6RQE+U+mbYAAD}NAKdf%vjZ7CISjw|{qM`>=~K-XnVYpv6Le1R z!GlkY|MV~3@=xBlQSaRwRW=G$XErQD-J3=4OhKpW)vR`#Gz;nz(8-YD1eloB6SH>V zor%E&XWR(Er!H2C$P_5mncH1!}eeQR^@tw0*zPTZ+mM}<7w~Xe;q{_M`tVAxqvejgxz1C?9 z4C@FZm_3B)UAX!7Lk@3@xb?|hzkPKt-MKOGUR<@bpL}`}&kG-+jO*uiy61-nd&G+^8y_b;?lZRY;v#@O-Moxrv#d#|yq-dh8Eu z{(P!1F*)`V(rCo|sE@Rwsl6=nw~n%OKc3-X3A2*QCth&iUG~Wu4Oy7hwgAN2LNcgX z%S6n;a;Q5hw&LM%IbI*#?h{jp8<@wy(^G)J5y(sh}2cf#74PPp)FhmG@~!xjf^4aJ>b zJmmAgxy}2p-Ava%+^y?zudb)PDwx*6wG{PId^QuWrohyX7GB2-f>{*Mf^d!&f7yLl1vGwd)GpVT;j|V9EVpxzrGNg+Vn9SfHXY?L?{@O!+@v{%hgFA=Sy)Slc zrL&guwB%k3W&^2fmpZEg%Vqf1A3PhM|NaGi;fI@Wrr}~6Ag%xT_?=IA`_Df1>p$O5 zHX0<&muk0|+^7SgR=2Vl5I`G}>J0R8f|x8kpDp-^`LP&DRVP`DbImaK8q^)PBv>5; z^M>R#arY6)rc{(ntX>FfdCUmCfLNm`f?y5v(5Q+mrhd^)TYvmd|KP$CKiCYbmqXjG zDUV#?D87>haYKNe5<(8U9j2d`{PbU4^ABIUHNAgpdzN`tFWVM!7#)k`L>Z-8@*)e< zd?ZU3^Kkx~>*0mJx7iT#*{Q=2A467F>{>ZY+l(UgvNdU-+%CMPsv_84tAsTGSpqi*&|NceXw0!;=%sDdA`S9dE=M1Max1%^ic$sg{&B*aerlXuyX3+lClO2d~x8xS32yE zYEjcBjNSbVe)b>l_}l;f+Tr9zeb}pG6|-(K3u2^DiAC|I#W<+RxW2EOPj}->zj;|U zudFxbF|{5tH6cq9qsnKT{l*rypRx7SmaIQ>I)C`VG<^K}7qWe4uTGOtd95J12Ui!U z6DhUMcQJpME<9c|OOHEh8uohv>bcKwX}b)Li#C>Un|kdNPmCu=MAtI`Z{ZM#e}$%>-azwqLPwaqK5&;u81Fa%%FjD?|B(sH2~HJb6(|NVu%`5!($ z*#2yMxWaH+mb2PCipHoAB&B4Cs#A*jRAMiM@BQ8@apTf}rE`!<2wCIIi`FM)6Q$>? zNY!ki{%QE;9}eNAVaSSU_w}DVlZ|xGt zk{U@puu^o=nND7>H+v~`!;vnDHIc4M!&kDy#@VKaaQodEpa1nWd-um5?2kX)**%qS zOsjHIc~oi*8tKI3QJh@xs7X{L8;4U*Y{ZR=13C3nuL-yfLTem$u2t;co^Wt2FnI|3 z52q||u29AUUj2;~`j_D4f4nLE=U(k@U#;WM{>?8^d1HT)CPfSkH~}2l2~$*^G)L-3 zg~Alj)S;UktH)lZT4r^Xm7YizjU<}m_0W>!Hr1MuoA0N}_Q<)xlI>bWmt97)kAPdi z{Ud?+!Yo@Jsk=1X)RqiuZpqM)S?u+sv)oiDk9vizF(a50rHRsY0<$mS>RV&p`SE-8 zgAaFh?|-0x4iR zf$git&;QM5eD>O28hujN9eP&P6PeZbJ&z^>LrD$;p)-I>(=OxdPZpp2^ov0+?-hB9 zVU{Xc@N#})SZ2K-sQM9eh1G_o8E%f5OPzwL6&8}Gz6H-Mp^Wp|_n2}RDtkzWPt%f( zi3nH8w}XG}n}7%1xso6fWf$Sm6-f{?h|~{IB2Lz53qO2SXk1_q;dh7QKqnl7O03D%zHJgixpCMG;ALDW=mf zJeS9%OWlT^6Jb_C$Do`f_U`ZTH$Q&Q_4XjeS?;sR0jq0~-k^}YGt+XshlLe1MNsIh zLT^12%O*XGMK=b`n0zI=JUQZcQ9Bl1S9h=qcf&2Ym`g}PG?UCKFMOhbZ7J=c2>WF0 z1+o2dml+S5k$=c-6jGHnIflQ>xn+U_b0#I|JgtPpf}pDa_5l&%ZmeNPL@6FSVOc<&Gd|9gxUm8 zURiQ1g`^8^E^JY=;c%`5VUi{*#2Tx-+J%i-Eg@4pcndk z7&CWp7q>(^7&A7Nhh~CT0CVQra>rGl)Ouz9IZait5JAj?f2Iwv^f%bS4GuB;OX( zal*_b;UZ#!f@bR0V)kmFUZ<&;m)Yjlnf!ad{j~P4K(WzIhHAM}84cBQ^NAJy@jv?= zLV|vPB0$#ZG*g0>jwc0K3#@32^wuF81_|A)7?H9}LZ)9G?rbNbuOlsK5LdHiR@Tfs zh$X=)#HJzILs7qDYBwae2PF2&ZH6mTma2EzAN|9_-7ibY?|ppOyYq{~)#a_VzG6K$-5)=ci(jQIq(2!@vLTeL6beI$QF+uiyFKdQ)_jI#U@vxOy)Bu+A6hHDdCTQk%~h;AcE zdwY}V&;R##?|t~^A8lT`cyaBE&u`w|y)(Vr$(Hx3WRv!fr|`(A@3~;+lq4}Vt>bWW zwe#ew7mKxLdd%in$K(EbKw79SSv%Q#k}&NsJv4Mp@S^End8De7wNOoNA?rw9k4(c? z*;@J-t?;kw3k0*2V8Yb)b=!9N(3!nUGi`Jmkuh^&{*sw}jfVKK#j-`G-f9fuR<+Z8 z=H2csjRSFaFUzV9p);+f@!^Am>EP~-FC%CYI;EM_LA6e1f@@fq%R9&F6PTNro7SPs zrp4x|(0%&VHNEg8#QAv4lYf+LHW5r0i6@^t)&2ZZ>#HZH~-S zjU4hELKY?DS*(vM-iv?9!@tgCwH4e(3M7l-ZX(PC-}fD+_5he4qXrlFHK$rG?p}LL zcaME#L{XELyCAiSRJV@ilU}<2Sq6f7!#JdtK6N`BpZXxS`X&Gwm|H})aH{~Qk{6; z{N|H4+|}~Ly!J@*H!32?;>_MfKT-f5WAumRZphZVo#(#$TyOnypSZRF^*+Yb*2%eh z?;dZx{VwAP3`0TabO}Di%^0qCBzEg2?2Yrucs%l#sG?rJWQi8m}6Q&i^El<2|XR;sp ziEP0~E!Kq6VSV6%ps^pb<#S76>q#N3EC61QX;aIh@Z=Lu@`K;6sGjc-4_CwXwL`sj z^>g<_lNbKMWm$T4z%)Ok@J=&QA0^J2k2R#arZK63U+%EKx}vITX3bRtQw<~Fqds$Vz%nUHt2yP~6 zN>&jp0JC>@buF3i^C7dk zs~e4FNQMzHfo-NIr(b2}d++<+_u-?z{Q=5jV8;RHPj}?4yScc*hq(FuZCw7KfQ$m@ z6b=%H^n2q*xo%TAw5VjZc$B$eux4XWx;L6IG>AAyqctkqr{WO#poX6ZT-fqx4^tb- zwvJhFAelLx1JbBhT1LQmXky*CGEPpBK@Fw?}(FLf!Y5W8)g~6xfI$8 z`-kEJ6Y8PJ>~wU1;!-ROVZfC)fscN8y_YT^EkPq4xL4}>BLHndtH&+a`WH|>xqeJ{ zbAjp;=_BvZoB})D2}praM0e4iBb2 z)LJXGS?lQ9+MhR0p2QZ4!o#6OP7j9w15kpPKsH{*udzc;ImTEVL`$PV2eK`B5X%WT zc$KJ});(alc5LZ7gsv}ML4&2$P%kJN0PRe}o@XR6Td>&;fOkZ2Omb44iwhPo6Ez(s zs=bBC@+Pc+lfz>?xW8YLR>~?|y9qs9x!B`P9vco_7f>aN2#|asTjaF^a)fJENu$&W z9D>EB-!dN$vXXsuZ`?A|5J9pr!b?~y+Di%+gaIYm9Ig$jwEh*oAhb%4>*H2lc46Pc zr70nM8m&Ed!Ii}YA26BB@Z{iG#ZYwItFVTrhnMuTNaN!E_zt`|R|E10*DwkvHq3)g z+G8BrGuwgc*kzKbm@`!oF(uT<0D+OzPK`j86s*OpOp=jE)1$IB)VxYYR&joi7y8#f z{?X{|cdlch+_Y{2G^lJ6N*xDa$Biwg zgK2bQVsu`!Zr(~s3qa<2J%XO`FnXzOvneRX&}Nyd+tyo_MQC=*cj*AJ(EF-@PywtW zGgT{qp*Ku52J&%+JOhF!+Prh9T*`rh3#=GIG{Ob(t?8|C{XXGyBSGnMw+m)auN9E( z?axrVYuNXfaNu|CEzNMlCi)i46jMm3blVM)(V3_qgb;PJCC>*nG_OXghn-Ak%a)P z;T3c9FAK=o*}o9D2@L;U%HXiyW@r$MDD*0}FaoVK(Jd7g0Gy~X9v_P2#?|eD-i5Ig zC>2XEfG@%Ed4`4?lIrD5xAnL_9ksP_#2{?EVQaJo~u zS>e%urk?X~uGik($=~~{o5c@)@+W%z`(s@H-Zu1-fa64EWh@F^P~^S{Vw{P{Jnp## zHMCws2v_PTN@6rf1P?5=WrBKCnV<;TQ^cdNM6WuDEh# zd&>BbWKPx77>L#wVSy2~ddFZMKe>iRK-9Et1V7Ius zwS~bbkELs8)p7!yeQ}06zj|Cf{A_kF592)s9!qq6OanPu15zub5lBdWA%PMzXrq_` zG>92UX0Sa!wcEb3$8rzk$ACME`s9>v5D+(yJ#0A# zk$B`(8Vgm)MW76Xc4Hvj#7|P%M`v8QXnaT6?cQLJ08XQti-b_1o;SWMXN9%p?zNHV zpxBDfYzg2Qu=iONzWVLsr&+yoS9{M}thX*hmr?AgSR)ExL_M?eO<}x4<7^BTmpa5PN8Vz`A zbKb*@Gu$KO*FZL1vc2SDXIF-N6xU#X0PqlKZsNT8g1h6N%5gbCHvS3D!%ZCN(5~AQ z#GVfQxebLXqS6(MozQs?50+lW(j9A^y=fM`sBE6J8Z$wbu`Tq;S97VuV{5$s(;v;R z7Q0tnl!x61pFTXDA>_|satv4{apMU^L1d~S%d$2b-n;c^0%|?F^!CjUam~H;VcH?j zfTM?{|N4)Q_d|2_NE?5eN!FhOX?w?4*igA!0F7iEm{&!`7AOqX9sxW6T(by-^5Tb< z6E})3H5QUv%_-Co^ZE!LHN0~Y3PXhwW>wd`5CN$!Dr%*@DgC}`-#|Y7MA93bOKt=4 z?KA-dS)jPKZhTu!+j4SJwV}#J^?9a;5552T_UZX={^OIoe&+VYXQ$$`sgM;ADnV9} zMQxIoSvIVO*|?ld>hj>=FnH?L0GBg81?nfT`=1^i-udM5r&^C6I_8HeZVI4`y92Y{ z4ryaaBMa4PKrMig4LwQ*L7{|D3^K7nf=+v&E)UCKcAV3??T=c26Xn)l48sjBz*4-Ue z2SAkKgb+gDOu|UEe3<9e(cS9oKOg`8>!8z1A+(^+O10vwz*b4GwJ`)hL{X58l8|ad zD1$o5b2dAtCwI zlnG`=h($sm%%fn1p&f)%+sa2cY0EU%eF}w-AQG{HhrFt{l?g2}i_n=~bneE_(Bcr( z8bASGeU1sfCeVs2KEjtxZN4b9V6coq2bwgQLr0QW&AhPMF|ODC)c^~Q>V@#iqH-ZS zL)#oUCqoBQgPJmH1uh6Bbh-}KvGZfIBwl9(BxJezt)qIs-v8g9-M#%kv(HsLr&9As z{pc{m;Mj@I0z(0012_8)#SXmuEUc| zv$}qhQDFh_2E=i*oH_-v!oqfLf-D{x>2(NzDqNI~nzTN>D2yf$7u&od^Rb>EPF#S5 z%f;oIZCz$?GZCpQb^j6~uLKZ~VK8v4G12_P20H%%!Aovsw9H-NPS^ALJbi=H11&O>SEASyS*l=lhjr=a+San*$bVlc>J zk4SeZFS@Bjh&2afaXAG$0PssRsBwmW!Y#h_g zd$~mM*A_q?qHLh1k?!u^5nJgQrWOuUCt5&_ekyUfK@b^CU@-d7HeRDfL&s9Tx0gRVn!Ez z)8+pG4h8Z0%%HfB7H_bG$wM@@Gq|b~Kfxso2&y?%EDaYoV>4av&tP6tKr99%vlX2c zQ(g5X5r|0?a)~NmvIx2^dWl$ameTMWES<9dPx1oJ|A7mx6=Z7_q{ z%qgbf3^VLA7TA;3Rr11sA+k=2+>#QxZJ^!A+5_&O2rw8boZtx>+{97XhFM`nraGcw z5MVi%vi}>KeVusrs z=kLq?R!#G(Iv@ zzh4y?S(Y&0AOyI6l$pOPD@ za7&oEK^8$VPY`exRLoeTHjhI%YliROq`F};0IK>Cf%~axyasIlf9{a(E&;wo-R`n( z-xI~3VIKhwip%i0q+nr84PU_vSdqHMz_+#0fKAq?uS#HSZSZKFYn43EI~MzDP*R!9 z02(#7Mm!octSIIOH*u#rvkDnJZ^Q7%R1%cmsNMd`fV`X#ynf%8fP9to3g4z;DEoNF zDyV*72bQ}=M;MdHB$BiHLD4=Qx(tjg5I9Y!qxSHXzDAzDA{fsFBtH3sh%7)RjW0m;VyS^}i9g1<2%E?TYVkhjftLeE_$B>|K=p zIsz_PPE}!HghK<-LLi00G77|~vM6hpaQ!+HpArGD{?5>4Fv9EXkl6R=9)J+PhZsO- zvcx0J*cD!amN9r0$T|mRP@9A?o*~C%FvN`eDC?gw$LDBqv}QZ_9R!5Y))@q!%cwTc zU(huXoe2VCDkb(A4t>U}@}8XYeE@G*Mb)#S!4=kaRZO?duuZW-T&zA~EfGxgIWL2R z<9AhK(Bx&#WJbH`HeW~L3BoHZL=RdR#E3u`AmYr$HFUB`Fo-om)FL*gaqa}i<++{7 z5XboqOtywL&F3i3?g4m&7LU_+vdyIMP1|_w1mbhu-nCbf*E|TND-|Wx+&Tv-n1i@7 zdQT>Ph?*k?5w`F`YYA&bg-~@c$w)+-Q(03h?Y=2GQi!^fZ z^0Vqy?v4h3?G4Saya ztVYw$=#C>HX?}SPC_yx#1@X#@F5Xv57}XS-N)1pV56lb%Q*9cRW0S0?1)Ia;S*3V@ zn>Im#Vt9^A?h%e=|4QIDsYTK|Ilm*mL-ws-VMR5%0*V8m-p29lcO2uV;-Q!$V1m{L zXtV&#HG*M2P%=x_!v?|gMj#>r&(1nnLh2U?Af_*P_IiZ}b#-}$RdXBb9zaXEOrW7* zYfW-&Z;@FeZ=fU)nrE2U7X&^B@BoS;ww&ZO9*+zB`ad1JjA?Y|px6Ka002ovPDHLk FV1nUXz%>8> literal 0 HcmV?d00001 diff --git a/image/card/group_shen.png b/image/card/group_shen.png new file mode 100644 index 0000000000000000000000000000000000000000..88cf3c33b2f2982ce7e78957a9a8c5938c4cd55f GIT binary patch literal 3660 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 Date: Wed, 20 Sep 2023 05:49:55 -0700 Subject: [PATCH 5/5] Ruby and RT. --- game/game.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/game/game.js b/game/game.js index 37f976c59..6e1aa4272 100644 --- a/game/game.js +++ b/game/game.js @@ -53234,7 +53234,7 @@ if(lib.config.show_characternamepinyin){ const span=document.createElement('span'); span.style.fontWeight='bold'; - const nameInfo=get.character(name),nameExInfo=nameInfo[4],characterName=nameExInfo&&nameExInfo.includes('translateNameAsIs:get.charactercard')?lib.translate[name]:get.rawName(name); + const nameInfo=get.character(name),characterName=nameInfo[4].includes('ruby')?lib.translate[name]:get.rawName(name); span.textContent=characterName; const ruby=document.createElement('ruby'); ruby.appendChild(span); @@ -53242,7 +53242,7 @@ leftParenthesisRP.textContent='('; ruby.appendChild(leftParenthesisRP); const rt=document.createElement('rt'); - rt.textContent=get.pinyin(characterName).join(' '); + rt.textContent=lib.translate[`${name}_rt`]||get.pinyin(characterName).join(' '); ruby.appendChild(rt); const rightParenthesisRP=document.createElement('rp'); rightParenthesisRP.textContent=')'; @@ -53332,7 +53332,7 @@ this.classList.add('active'); const skillNameSpan=document.createElement('span'),skillNameSpanStyle=skillNameSpan.style; skillNameSpanStyle.fontWeight='bold'; - const skillName=get.translation(this.link); + const link=this.link,skillName=get.translation(link); skillNameSpan.textContent=skillName; if(lib.config.show_skillnamepinyin&&skillName!='阵亡'){ const ruby=document.createElement('ruby'); @@ -53341,7 +53341,7 @@ leftParenthesisRP.textContent='('; ruby.appendChild(leftParenthesisRP); const rt=document.createElement('rt'); - rt.textContent=get.pinyin(skillName).join(' '); + rt.textContent=lib.translate[`${link}_rt`]||get.pinyin(skillName).join(' '); ruby.appendChild(rt); const rightParenthesisRP=document.createElement('rp'); rightParenthesisRP.textContent=')'; @@ -53376,7 +53376,7 @@ leftParenthesisRP.textContent='('; ruby.appendChild(leftParenthesisRP); const rt=document.createElement('rt'); - rt.textContent=get.pinyin(derivationName).join(' '); + rt.textContent=lib.translate[`${value}_rt`]||get.pinyin(derivationName).join(' '); ruby.appendChild(rt); const rightParenthesisRP=document.createElement('rp'); rightParenthesisRP.textContent=')';