diff --git a/game/game.js b/game/game.js index ce1078475..ca0b6e5ae 100644 --- a/game/game.js +++ b/game/game.js @@ -3938,12 +3938,6 @@ init:true, unfrequent:true, }, - show_extensionimage:{ - name:'显示扩展武将图片', - intro:'关闭扩展武将包仍加载扩展武将图片', - init:true, - unfrequent:true, - }, show_skillnamepinyin:{ name:'显示技能名拼音', intro:'在武将资料卡显示技能名拼音', @@ -7487,25 +7481,25 @@ let dbimage=null,extimage=null,modeimage=null,nameinfo,gzbool=false; const mode=get.mode(); if(type=='character'){ - if(lib.characterPack[`mode_${mode}`]&&lib.characterPack[`mode_${mode}`][name]) if(mode=='guozhan'){ - nameinfo=lib.character[name]; - if(name.indexOf('gz_shibing')==0) name=name.slice(3,11); - else{ - if(lib.config.mode_config.guozhan.guozhanSkin&&lib.character[name]&&lib.character[name][4].contains('gzskin')) gzbool=true; - name=name.slice(3); + if(lib.characterPack[`mode_${mode}`]&&lib.characterPack[`mode_${mode}`][name]){ + if(mode=='guozhan'){ + nameinfo=lib.character[name]; + if(name.indexOf('gz_shibing')==0) name=name.slice(3,11); + else{ + if(lib.config.mode_config.guozhan.guozhanSkin&&lib.character[name]&&lib.character[name][4].contains('gzskin')) gzbool=true; + name=name.slice(3); + } } - } - else modeimage=mode; - else if(lib.character[name]) nameinfo=lib.character[name]; - else if(lib.config.show_extensionimage){ - const pack=Object.keys(lib.characterPack).find(pack=>Object.keys(lib.characterPack[pack]).contains(name)); - if(pack) nameinfo=lib.characterPack[pack][name]; + else modeimage=mode; } else if(name.indexOf('::')!=-1){ name=name.split('::'); modeimage=name[0]; name=name[1]; } + else{ + nameinfo=get.character(name); + } } if(!modeimage&&nameinfo&&nameinfo[4]) for(const value of nameinfo[4]){ if(value.indexOf('ext:')==0){ @@ -29909,17 +29903,29 @@ } }, sort:{ + group:function(a,b){ + const groupSort=function(group){ + let base=0; + if(group=='wei') return base; + if(group=='shu') return base+1; + if(group=='wu') return base+2; + if(group=='qun') return base+3; + if(group=='jin') return base+4; + if(group=='key') return base+5; + if(group=='western') return base+6; + if(group=='shen') return base+7; + if(group=='double') return base+7; + return base+9; + } + return groupSort(a)-groupSort(b); + }, character:function(a,b){ - /*var getGroup=function(name){ - var group=get.is.double(name,true); - if(group) return group[0]; - return lib.character[name][1]; - }*/ const groupSort=function(name){ - if(!lib.character[name]) return 7; + const info=get.character(name); + if(!info) return 7; let base=0; if(get.is.double(name,true)) base=9; - const group=lib.character[name][1]; + const group=info[1]; if(group=='shen') return base-1; if(group=='wei') return base; if(group=='shu') return base+1; @@ -42296,41 +42302,7 @@ } } alterableCharacters.sort(); - /*var getGroup=function(name){ - var group=get.is.double(name,true); - if(group) return group[0]; - return lib.character[name][1]; - };*/ - const groupSort=function(name){ - if(!lib.character[name]) return 7; - let base=0; - if(get.is.double(name,true)) base=9; - const group=lib.character[name][1]; - if(group=='shen') return base-1; - if(group=='wei') return base; - if(group=='shu') return base+1; - if(group=='wu') return base+2; - if(group=='qun') return base+3; - if(group=='jin') return base+4; - if(group=='key') return base+5; - if(group=='western') return base+6; - return base+7; - } - list.sort(function(a,b){ - var del=groupSort(a)-groupSort(b); - if(del!=0) return del; - var aa=a,bb=b; - if(a.indexOf('_')!=-1){ - a=a.slice(a.lastIndexOf('_')+1); - } - if(b.indexOf('_')!=-1){ - b=b.slice(b.lastIndexOf('_')+1); - } - if(a!=b){ - return a>b?1:-1; - } - return aa>bb?1:-1; - }); + list.sort(lib.sort.character); var list2=list.slice(0); var cfgnode=createConfig({ name:'开启', @@ -47567,6 +47539,7 @@ } } var list=[]; + const groups=[]; var dialog; var node=ui.create.div('.caption.pointerspan'); if(get.is.phoneLayout()){ @@ -47611,6 +47584,10 @@ if(lib.characterFilter[i]&&!lib.characterFilter[i](get.mode())) continue; if(filter&&filter(i)) continue; list.push(i); + if(get.is.double(i)){ + groups.add('double'); + } + else groups.add(lib.character[i][1]); if(namecapt.indexOf(getCapt(i))==-1){ namecapt.push(getCapt(i)); } @@ -47619,6 +47596,7 @@ namecapt.sort(function(a,b){ return a>b?1:-1; }); + groups.sort(lib.sort.group); if(!thisiscard){ namecapt.remove('自定义'); namecapt.push('newline'); @@ -47814,29 +47792,6 @@ } } if(!thisiscard){ - var groups=['wei','shu','wu','qun','jin']; - var bool1=false; - var bool2=false; - var bool3=(get.mode()=='guozhan'&&_status.forceKey!=true&&get.config('onlyguozhan')); - var bool4=false; - var bool5=false; - for(var i in lib.character){ - if(lib.character[i][1]=='shen'){ - bool1=true; - } - if(lib.character[i][1]=='ye'){ - bool5=true; - } - if(bool3||lib.character[i][1]=='key'){ - bool2=true; - } - if(!bool4&&get.is.double(i)) bool4=true; - if(bool1&&bool2&&bool4&&bool5) break; - } - if(bool1) groups.add('shen'); - if(bool2&&!bool3) groups.add('key'); - if(bool4) groups.add('double'); - if(bool5) groups.add('ye'); var natures=['water','soil','wood','metal']; var span=document.createElement('span'); newlined.appendChild(span); @@ -48046,45 +48001,26 @@ case 'zhenfa':return 5; default:return 6; } - }; + } + list.sort(function(a,b){ + var del=groupSort(a)-groupSort(b); + if(del!=0) return del; + var aa=a,bb=b; + if(a.indexOf('_')!=-1){ + a=a.slice(a.lastIndexOf('_')+1); + } + if(b.indexOf('_')!=-1){ + b=b.slice(b.lastIndexOf('_')+1); + } + if(a!=b){ + return a>b?1:-1; + } + return aa>bb?1:-1; + }); } else{ - /*var getGroup=function(name){ - var group=get.is.double(name,true); - if(group) return group[0]; - return lib.character[name][1]; - }*/ - groupSort=function(name){ - if(!lib.character[name]) return 7; - let base=0; - if(get.is.double(name,true)) base=9; - const group=lib.character[name][1]; - if(group=='shen') return base-1; - if(group=='wei') return base; - if(group=='shu') return base+1; - if(group=='wu') return base+2; - if(group=='qun') return base+3; - if(group=='jin') return base+4; - if(group=='key') return base+5; - if(group=='western') return base+6; - return base+7; - } + list.sort(lib.sort.character); } - list.sort(function(a,b){ - var del=groupSort(a)-groupSort(b); - if(del!=0) return del; - var aa=a,bb=b; - if(a.indexOf('_')!=-1){ - a=a.slice(a.lastIndexOf('_')+1); - } - if(b.indexOf('_')!=-1){ - b=b.slice(b.lastIndexOf('_')+1); - } - if(a!=b){ - return a>b?1:-1; - } - return aa>bb?1:-1; - }); dialog=ui.create.dialog('hidden'); dialog.classList.add('noupdate'); dialog.classList.add('scroll1'); @@ -52995,13 +52931,12 @@ if(lib.config.show_characternamepinyin){ var charactername=get.rawName(name); var characterpinyin=get.pinyin(charactername); - var nameinfo=lib.character[name]; - if(!nameinfo){ - const pack=Object.keys(lib.characterPack).find(pack=>Object.keys(lib.characterPack[pack]).contains(name)); - if(pack) nameinfo=lib.characterPack[pack][name]; - } + var nameinfo=get.character(name); var charactersex=get.translation(nameinfo[0]); - var charactergroup=get.translation(nameinfo[1]); + 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; @@ -54343,9 +54278,10 @@ } return false; }, - double:function(name,array){ - if(!lib.character[name]||!lib.character[name][4]) return false; - for(var i of lib.character[name][4]){ + double:(name,array)=>{ + let info=get.character(name,4); + if(!info) return false; + for(let i of info){ if(i.indexOf('doublegroup:')==0){ if(!array) return true; return i.split(':').slice(1); @@ -54791,14 +54727,10 @@ } }, character:function(name,num){ - var info=lib.character[name]; + let info=lib.character[name]; if(!info){ - for(var i in lib.characterPack){ - if(lib.characterPack[i][name]){ - info=lib.characterPack[i][name]; - break; - } - } + const pack=Object.keys(lib.characterPack).find(pack=>lib.characterPack[pack].hasOwnProperty(name)); + if(pack) info=lib.characterPack[pack][name]; } if(info){ if(typeof num=='number'){ @@ -56947,8 +56879,8 @@ node=node.link; } var capt=get.translation(node.name); - if((lib.character[node.name]&&lib.character[node.name][1])||lib.group.contains(node.group)){ - capt+='  '+(lib.group.contains(node.group)?get.translation(node.group):lib.translate[lib.character[node.name][1]]); + if(lib.group.contains(node.group)||get.character(node.name,1)){ + capt+='  '+(lib.group.contains(node.group)?get.translation(node.group):get.translation(get.character(node.name,1))); } uiintro.add(capt); @@ -57654,8 +57586,8 @@ } } else if(node.classList.contains('character')){ - var character=node.link; - if(lib.character[node.link]&&lib.character[node.link][1]){ + var character=node.link,characterinfo=get.character(node.link); + if(characterinfo&&characterinfo[1]){ var group=get.is.double(node.link,true); if(group){ var str=get.translation(character)+'  '; @@ -57665,7 +57597,7 @@ } uiintro.add(str); } - else uiintro.add(get.translation(character)+'  '+lib.translate[lib.character[node.link][1]]); + else uiintro.add(get.translation(character)+'  '+lib.translate[characterinfo[1]]); } else{ uiintro.add(get.translation(character)); @@ -57771,14 +57703,7 @@ ui.create.div('.placeholder.slim',uiintro.content); } else{ - var infoitem=lib.character[character]; - if(!infoitem){ - for(var itemx in lib.characterPack){ - if(lib.characterPack[itemx][character]){ - infoitem=lib.characterPack[itemx][character];break; - } - } - } + var infoitem=get.character(character); var skills=infoitem[3]; for(i=0;i