Merge branch 'PR-Branch' into PR-Branch

This commit is contained in:
Spmario233 2023-09-17 19:56:56 +08:00 committed by GitHub
commit a5fe6b6914
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 568 additions and 248 deletions

View File

@ -598,6 +598,7 @@ window.noname_character_rank={
'jsrg_sunce',
're_caorui',
'ol_zhouqun',
'caoxi',
],
bp:[
'chess_diaochan',

View File

@ -6,7 +6,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
characterSort:{
sp:{
sp_tianji:["sunhao","liuxie","caoang","hetaihou","sunluyu",'ol_wangrong',"zuofen","ganfuren","ol_bianfuren","qinghegongzhu","tengfanglan","ruiji",'caoxiancaohua'],
sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao','ol_chendeng','jin_yanghu','wangyan','xiahouxuan','quhuang','zhanghua','wangguan','sunhong'],
sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao','ol_chendeng','jin_yanghu','wangyan','xiahouxuan','quhuang','zhanghua','wangguan','sunhong','caoxi'],
sp_tianzhu:['niujin','hejin','hansui',"wutugu","yanbaihu","shamoke","panfeng","zhugedan",'huangzu','gaogan',"tadun","fanjiangzhangda","ahuinan","dongtuna",'ol_wenqin'],
sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu','ol_xinxianying',"daxiaoqiao","jin_guohuai"],
sp_shaowei:["simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan','zhangzhi','lushi'],
@ -28,6 +28,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
character:{
ol_luyusheng:['female','wu',3,['olcangxin','skill_luyusheng_B']],
caoxi:['male','wei',3,['olgangshu','oljianxuan']],
ol_pengyang:['male','shu',3,['olqifan','oltuishi','nzry_cunmu']],
ol_qianzhao:['male','wei',4,['olweifu','olkuansai']],
niujin:['male','wei',4,['olcuorui','liewei']],
hejin:['male','qun',4,['olmouzhu','olyanhuo']],
@ -195,6 +197,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//kaisa:["male","western",4,["zhengfu"]],
},
characterIntro:{
caoxi:'曹羲249年字昭叔。曹真之子曹爽之弟。为人有学识明律法。司马懿曾组织朝议改革九品中正制废除九品而留中正曹羲认为此举并无区别最终都是决定于人的人治。曹爽掌权后受封中领军掌握禁兵封安乡侯。曹爽及诸兄弟轻视司马懿恣意妄为经常外出狩猎曹羲屡次劝谏不被采纳。249年司马懿发动高平陵政变被夷三族。',
duanjiong:'段颎179年字纪明武威姑臧今甘肃省武威市人。东汉名将西域都护段会宗从曾孙与皇甫规字威明、张奂字然明并称“凉州三明”。段颎少时学习骑射有文武智略最初被举为孝廉为宪陵园丞、阳陵令有治理之才。汉桓帝时入军旅先破鲜卑后讨平东郭窦、公孙举起事以功封列侯。延熹二年159年起戍边征战十余年百战羌人至永康元年167年平定西羌建宁二年169年平定东羌前后斩东西羌六万余级。累功封新丰县侯。建宁三年170年段颎被征入朝历任侍中、执金吾、河南尹、司隶校尉等职他党附宦官、捕杀太学生因而得保富贵两度出任太尉。光和二年179年权宦王甫罪行被揭发段颎受牵连下狱其后在狱中饮鸩而死。',
haopu:'郝普字子太义阳治所在今湖北枣阳东南人。刘备入川后郝普为零陵太守。建安二十年215年吴将吕蒙进攻荆州三郡唯有郝普坚守待援。但援兵久久不至其挚友邓玄之又被吕蒙所骗郝普也因此上当投降吴国。湘水划界后郝普回归刘备。建安二十四年219年吕蒙再次袭击荆州击败关羽郝普再次投降最终归顺吴国并官至廷尉。郝普与隐蕃亲善隐蕃蓄谋叛变事情败露他受到牵连因此自杀。在刘备集团的5个荆州郡守中郝普是唯一一个抵抗过东吴的荆州郡守。',
ol_zhanghe:'字儁乂河间鄚人。三国时期魏国名将。官渡之战时本为袁绍部将的张郃投降了曹操并在曹操帐下多立功勋于曹魏建立后加封为征西车骑将军。诸葛亮六出祁山之间张郃多次抵御蜀军的进攻于公元231年在木门道被诸葛亮设伏射死。后谥曰壮侯。为曹魏“五子良将”之一。',
@ -833,6 +836,338 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
},
//曹羲
olgangshu:{
audio:2,
trigger:{
player:'useCardAfter',
},
filter:function(event,player){
return get.type2(event.card,false)!='basic';
},
getInfo:(player)=>{
if(!player.storage.olgangshu_buff) player.storage.olgangshu_buff=[0,0,0];
return player.storage.olgangshu_buff;
},
direct:true,
group:'olgangshu_reset',
content:function(){
'step 0'
var info=lib.skill.olgangshu.getInfo(player);
player.chooseControl('攻击范围('+info[0]+')','摸牌数('+info[1]+')','使用【杀】的上限('+info[2]+')','cancel2').set('prompt',get.prompt('olgangshu')).set('prompt2','<div class="text center">令以下一个数值+1每项至多+5<br>1.攻击范围;<br>2.下个摸牌阶段的摸牌数;<br>3.使用【杀】的次数上限。</div>').set('ai',()=>{
return _status.event.choice;
}).set('choice',function(){
var info=lib.skill.olgangshu.getInfo(player);
if(info[1]==0) return 1;
if(info[2]<5&&player.hasCard(card=>{
return get.name(card)=='sha'&&player.hasValueTarget(card);
},'hs')&&!player.getCardUsable('sha')) return 2;
if(info[0]<5&&!game.hasPlayer(current=>{
return player.inRange(current)&&get.effect(current,{name:'sha'},player,player)>0;
})) return 0;
var rand=Math.random();
var list=[0,1,2].filter(i=>info[i]<5);
if(!list.length) return 'cancel2';
if(rand<0.2&&list.includes(0)) return 0;
if(rand<0.7&&list.includes(1)) return 1;
if(rand<1.0&&list.includes(2)) return 2;
return list.randomGet();
}());
'step 1'
if(result.control!='cancel2'){
player.logSkill('olgangshu');
player.addSkill('olgangshu_buff');
var info=lib.skill.olgangshu.getInfo(player);
info[result.index]=Math.min(5,info[result.index]+1);
game.log(player,'的',result.control.slice(0,result.control.indexOf('(')),'#y+1');
player.markSkill('olgangshu_buff');
}
},
ai:{
threaten:3.1,
},
subSkill:{
buff:{
trigger:{player:'phaseDrawBegin2'},
charlotte:true,
onremove:true,
forced:true,
filter:function(event,player){
var info=lib.skill.olgangshu.getInfo(player);
if(!info[1]) return false;
return !event.numFixed;
},
content:function(){
var info=lib.skill.olgangshu.getInfo(player);
trigger.num+=info[1];
info[1]=0;
player.markSkill('olgangshu_buff');
},
mod:{
attackRange:function(player,range){
var info=lib.skill.olgangshu.getInfo(player);
if(info) return range+info[0];
},
cardUsable:function(card,player,num){
if(card.name!='sha') return;
var info=lib.skill.olgangshu.getInfo(player);
if(info) return num+info[2];
},
},
mark:true,
intro:{
markcount:()=>0,
content:function(storage,player){
var info=lib.skill.olgangshu.getInfo(player);
var str='';
if(info[0]>0) str+='<li>攻击范围+'+info[0];
if(info[1]>0) str+='<li>下个摸牌阶段摸牌数+'+info[1];
if(info[2]>0) str+='<li>使用【杀】的次数上限+'+info[2];
return str;
},
},
},
reset:{
audio:'olgangshu',
trigger:{
global:['shaMiss','eventNeutralized'],
},
filter:function(event,player){
if(event.type!='card') return false;
var responder;
if(event.name=='sha'){
responder=event.target;
}
else{
responder=event._neutralize_event.player;
}
return player==responder;
player.removeSkill('olgangshu_buff');
game.log(player,'重置了','#g【刚述】','的数值');
}
}
}
},
//OL彭羕
olqifan:{
audio:2,
enable:'chooseToUse',
hiddenCard:function(player,name){
if(name!='wuxie'&&lib.inpile.contains(name)) return true;
},
filter:function(event,player){
if(event.responded||event.type=='wuxie'||event.olqifan) return false;
for(var i of lib.inpile){
if(i!='wuxie'&&get.type(i)=='basic'&&event.filterCard({name:i},player,event)) return true;
}
return false;
},
delay:false,
content:function(){
'step 0'
var evt=event.getParent(2);
evt.set('olqifan',true);
var cards=get.bottomCards(1+player.getStorage('olqifan').length,true);
var aozhan=player.hasSkill('aozhan');
player.chooseButton(['器翻:选择要使用的牌',cards]).set('filterButton',function(button){
return _status.event.cards.contains(button.link);
}).set('cards',cards.filter(function(card){
if(aozhan&&card.name=='tao'){
return evt.filterCard({
name:'sha',isCard:true,cards:[card],
},evt.player,evt)||evt.filterCard({
name:'shan',isCard:true,cards:[card],
},evt.player,evt);
}
return evt.filterCard(card,evt.player,evt);
})).set('ai',function(button){
var evt=_status.event.getParent(3);
if(evt&&evt.ai){
var tmp=_status.event;
_status.event=evt;
var result=(evt.ai||event.ai1)(button.link,_status.event.player,evt);
_status.event=tmp;
return result;
}
return 1;
});
'step 1'
var evt=event.getParent(2);
if(result.bool&&result.links&&result.links.length){
var name=result.links[0].name,aozhan=(player.hasSkill('aozhan')&&name=='tao');
if(aozhan){
name=evt.filterCard({
name:'sha',isCard:true,cards:[card],
},evt.player,evt)?'sha':'shan';
}
game.broadcastAll(function(result,name){
lib.skill.olqifan_backup.viewAs={name:name,cards:[result],isCard:true};
lib.skill.olqifan_backup.prompt=('请选择'+get.translation(result)+'的目标');
},result.links[0],name);
evt.set('_backupevent','olqifan_backup');
evt.backup('olqifan_backup');
}
evt.goto(0);
},
ai:{
effect:{
target:function(card,player,target,effect){
if(get.tag(card,'respondShan')) return 0.7;
if(get.tag(card,'respondSha')) return 0.7;
}
},
order:11,
respondShan:true,
respondSha:true,
result:{
player:function(player){
if(_status.event.dying) return get.attitude(player,_status.event.dying);
return 1;
}
}
},
onremove:true,
intro:{
content:'已使用过$牌',
},
subSkill:{
discard:{
trigger:{player:'chooseToUseAfter'},
forced:true,
charlotte:true,
filter:function(event,player){
if(!event.olqifan_discard) return false;
var num=player.getStorage('olqifan').length,pos=('jeh').slice(0,num);
return num>0&&player.countCards(pos)>0;
},
content:function(){
'step 0'
event.num=Math.min(3,player.getStorage('olqifan').length);
'step 1'
event.num--;
var pos=('jeh')[event.num],hs=player.countCards('h');
if(hs>0) player.chooseToDiscard(hs,pos,true);
if(event.num>0) event.redo();
},
},
},
},
oljianxuan:{
audio:2,
trigger:{
player:'damageEnd',
},
direct:true,
content:function(){
'step 0'
var info=lib.skill.olgangshu.getInfo(player);
var list=[];
list.add(player.getAttackRange());
list.add(2+info[1]);
list.add(player.getCardUsable('sha',true));
list.sort();
var str=list.join('、').replace(/(.*)、/, '$1或');
event.list=list;
player.chooseTarget(get.prompt('oljianxuan'),'令一名角色摸一张牌,然后若其手牌数为'+str+',其可以重复此流程。').set('ai',target=>{
var list=_status.event.list;
var player=_status.event.player;
var att=get.attitude(player,target);
if(att<=0) return 0;
var num=target.countCards('h')+1;
var value=1;
while(true){
if(list.includes(num)){
value++;
num++;
}
else break;
}
return value+att/10;
}).set('list',list);
'step 1'
if(result.bool){
var target=result.targets[0];
event.target=target;
player.logSkill('oljianxuan',target);
if(player!=target) player.addExpose(0.15);
}
else event.finish();
'step 2'
target.draw();
'step 3'
if(event.list.includes(target.countCards('h'))){
target.chooseBool('谏旋:是否摸一张牌?').set('ai',()=>true);
}
else event.finish();
'step 4'
if(result.bool) event.goto(2);
},
ai:{
combo:'olguangshu',
maixie:true,
},
},
olqifan_backup:{
sourceSkill:'olqifan',
precontent:function(){
delete event.result.skill;
var name=event.result.card.name;
event.result.cards=event.result.card.cards.slice(0);
event.result.card=get.autoViewAs({name:name},event.result.cards);
player.markAuto('olqifan',[get.type2(event.result.card,false)]);
event.getParent().set('olqifan_discard',true);
player.addTempSkill('olqifan_discard');
},
filterCard:function(){return false},
selectCard:-1,
},
oltuishi:{
audio:2,
mod:{
wuxieJudgeEnabled:()=>false,
wuxieEnabled:()=>false,
cardEnabled:(card)=>{
if(card.name=='wuxie') return false;
},
targetInRange:(card)=>{
if(card.storage&&card.storage.oltuishi) return true;
}
},
trigger:{player:'useCardAfter'},
forced:true,
filter:function(event){
const num=get.number(event.card);
return [1,11,12,13].includes(num);
},
content:function(){
player.draw(2);
player.addSkill('oltuishi_unlimit');
},
subSkill:{
unlimit:{
charlotte:true,
mod:{
cardUsable:()=>Infinity,
targetInRange:()=>true,
},
trigger:{player:'useCard1'},
forced:true,
popup:false,
silent:true,
firstDo:true,
content:function(){
player.removeSkill('oltuishi_unlimit')
var card=trigger.card;
if(!card.storage) card.storage={};
card.storage.oltuishi=true;
if(trigger.addCount!==false){
trigger.addCount=false;
player.getStat('card')[card.name]--;
}
},
},
},
},
//OL牵招
olweifu:{
audio:2,
@ -23617,6 +23952,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wenqin:['wenqin','pe_wenqin'],
zhouqun:['ol_zhouqun','zhouqun'],
qianzhao:['ol_qianzhao','qianzhao'],
ol_pengyang:['ol_pengyang','sp_pengyang'],
},
translate:{
"xinfu_lingren":"凌人",
@ -24744,6 +25080,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
olcangxin_info:'①当你受到伤害时你可以观看牌堆底的三张牌并弃置其中任意张牌若你以此法弃置了红桃牌则防止此伤害。②摸牌阶段你多摸X张牌X为牌堆底前三张牌中红桃牌的数量。',
skill_luyusheng_B:'技能',
skill_luyusheng_B_info:'其他角色的弃牌阶段开始时,若其已受伤且其手牌数不等于其体力上限,则你可以选择一项:①令其弃置一张牌,其本回合手牌上限+1②令其摸一张牌其本回合手牌上限-1。',
caoxi:'曹羲',
olgangshu:'刚述',
olgangshu_info:'①当你使用非基本牌结算结束后,你可以令以下一项数值+1每项至多以此法+51.攻击范围2.受〖刚述〗影响的下个摸牌阶段摸牌数3.使用【杀】的次数上限。②当有牌被你抵消后,重置你〖刚述①〗增加的所有数值。',
oljianxuan:'谏旋',
oljianxuan_info:'当你受到伤害后,你可以令一名角色摸一张牌,然后若其手牌数等于你〖刚述①〗中的任意一项对应的数值,其可以重复此流程。',
ol_pengyang:'OL彭羕',
olqifan:'器翻',
olqifan_info:'当你需要使用不为【无懈可击】的牌时你可以观看牌堆底的X+1张牌并使用其中的一张。此牌结算结束时你依次弃置以下前X个区域中的所有牌⒈判定区、⒉装备区、⒊手牌区X为你因此技能使用过的牌中包含的类型数。',
oltuishi:'侻失',
oltuishi_info:'锁定技。①你不能使用【无懈可击】。②当你使用点数为字母的牌后,你摸两张牌,且你使用的下一张牌无距离和次数限制。',
sp_tianji:'天极·皇室宗亲',
sp_sibi:'四弼·辅国文曲',

View File

@ -2028,11 +2028,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
subSkill:{
random:{
audio:'dunxi',
trigger:{global:'useCardToPlayer'},
trigger:{global:'useCard'},
forced:true,
locked:false,
filter:function(event,player){
if(!event.player.hasMark('dunxi')||event.targets.length!=1||event.getParent()._dunxi) return false;
if(!event.player.hasMark('dunxi')||event.targets.length!=1||event._dunxi||_status.dying.length) return false;
var type=get.type2(event.card,false);
return (type=='basic'||type=='trick');
},
@ -2040,12 +2040,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
line:'fire',
content:function(){
'step 0'
trigger.getParent()._dunxi=true;
trigger._dunxi=true;
trigger.player.removeMark('dunxi',1);
var target=trigger.target;
event.target=target;
trigger.targets.remove(target);
trigger.getParent().triggeredTargets1.remove(target);
trigger.triggeredTargets1.remove(target);
trigger.untrigger();
game.delayx();
'step 1'
@ -10431,7 +10431,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dcbihuo_info:'①当你受到其他角色造成的伤害后,你可令一名角色下回合摸牌阶段的额定摸牌数+1。②当你对其他角色造成伤害后你可令一名角色下回合摸牌阶段的额定摸牌数-1。',
bianxi:'卞喜',
dunxi:'钝袭',
dunxi_info:'①当你使用具有伤害标签的牌结算结束后,你可以令一名不为你的目标角色获得一枚“钝”。②有“钝”的角色使用基本牌或锦囊牌指定唯一目标时你令其移去一枚“钝”。系统随机选择一名角色并将此牌的目标改为该角色。若该角色和原目标相同则其失去1点体力。若其正处于出牌阶段内则结束此阶段。',
dunxi_info:'①当你使用具有伤害标签的牌结算结束后,你可以令一名不为你的目标角色获得一枚“钝”。②有“钝”的角色使用基本牌或锦囊牌若此牌目标数为1且此时没有角色处于濒死状态你令其移去一枚“钝”。系统随机选择一名角色并将此牌的目标改为该角色。若该角色和原目标相同则其失去1点体力。若其正处于出牌阶段内则结束此阶段。',
niufu:'牛辅',
dcxiaoxi:'宵袭',
dcxiaoxi_info:'锁定技。出牌阶段开始时你声明X并减X点体力上限X∈[1,2]。然后你选择一名攻击范围内的其他角色并选择一项⒈获得该角色的X张牌。⒉视为对其使用X张【杀】。',

View File

@ -8359,6 +8359,14 @@ window.noname_asset_list=[
'image/emotion/xiaojiu_emotion/18.gif',
'image/emotion/xiaojiu_emotion/19.gif',
'image/emotion/xiaojiu_emotion/20.gif',
'image/emotion/xiaokuo_emotion/1.gif',
'image/emotion/xiaokuo_emotion/2.gif',
'image/emotion/xiaokuo_emotion/3.gif',
'image/emotion/xiaokuo_emotion/4.gif',
'image/emotion/xiaokuo_emotion/5.gif',
'image/emotion/xiaokuo_emotion/6.gif',
'image/emotion/xiaokuo_emotion/7.gif',
'image/emotion/xiaokuo_emotion/8.gif',
'image/emotion/xiaosha_emotion/1.gif',
'image/emotion/xiaosha_emotion/2.gif',
'image/emotion/xiaosha_emotion/3.gif',

View File

@ -32,22 +32,16 @@
const GeneratorFunction=(function*(){}).constructor;
// gnc: GeNCoroutine
const gnc={
async:fn=>function genCoroutine(){
let result=fn.apply(this,arguments);
result.name="genCoroutine";
result.status="next";
result.state=undefined;
return gnc.await(result);
},
await:gen=>new Promise((resolve,reject)=>{
let result=gen;
let nexts=resolve;
let throws=reject;
if(gnc.is.coroutine(gen)||(gnc.is.generator(gen)&&!gen.nocoroutine)) {
if(!gen.status)gen.status="next";
if(!gen.state)gen.state=undefined;
of:fn=>gnc.is.generatorFunc(fn)?function genCoroutine(){
let gen=fn.apply(this,arguments);
gen.status="next";
gen.state=undefined;
const callback=(resolve,reject)=>{
let result,
nexts=resolve,
throws=reject;
try{
result=gen[result.status](result.state);
result=gen[gen.status](gen.state);
}catch(error){
reject(error);
return;
@ -56,24 +50,21 @@
nexts=(item)=>{
gen.state=item;
gen.status="next";
gnc.await(gen).then(resolve,reject);
callback(resolve,reject);
}
throws=(err)=>{
gen.state=err;
gen.status="throw";
gnc.await(gen).then(resolve,reject);
callback(resolve,reject);
}
}
result=result.value;
Promise.resolve(result).then(nexts,throws);
}
Promise.resolve(result).then(nexts,throws);
}),
escape:gen=>{
gen.nocoroutine=true;
return gen;
},
return new Promise(callback);
}:(()=>{throw new TypeError("gnc.of needs a GeneratorFunction.")})(),
is:{
coroutine:item=>(typeof item=="function"||gnc.is.generator(item))&&item.name=="genCoroutine",
coroutine:item=>typeof item=="function"&&item.name=="genCoroutine",
generatorFunc:item=>item instanceof GeneratorFunction,
generator:item=>(typeof item=="object")&&("constructor" in item)&&item.constructor&&("constructor" in item.constructor)&&item.constructor.constructor===GeneratorFunction
}
@ -150,6 +141,7 @@
chatHistory:[],
emotionList:{
xiaowu_emotion:14,
xiaokuo_emotion:8,
shibing_emotion:15,
guojia_emotion:20,
zhenji_emotion:20,
@ -3946,12 +3938,6 @@
init:true,
unfrequent:true,
},
show_extensionimage:{
name:'显示扩展武将图片',
intro:'关闭扩展武将包仍加载扩展武将图片',
init:true,
unfrequent:true,
},
show_skillnamepinyin:{
name:'显示技能名拼音',
intro:'在武将资料卡显示技能名拼音',
@ -7278,12 +7264,10 @@
'无名杀 - 录像 - '+_status.videoToSave.name[0]+' - '+_status.videoToSave.name[1]);
}
},
genAsync:fn=>gnc.async(fn),
genAwait:gen=>gnc.await(gen),
genAsync:fn=>gnc.of(fn),
genAwait:item=>gnc.is.generator(item)?gnc.of(function*(){for(const content of item){yield content;}})():Promise.resolve(item),
gnc:{
async:fn=>gnc.async(fn),
await:gen=>gnc.await(gen),
escape:gen=>gnc.escape(gen),
of:fn=>gnc.of(fn),
is:{
coroutine:item=>gnc.is.coroutine(item),
generatorFunc:item=>gnc.is.generatorFunc(item),
@ -7497,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){
@ -8323,7 +8307,7 @@
if (Array.isArray(lib.onprepare)&&lib.onprepare.length){
_status.onprepare=Object.freeze(lib.onprepare.map(fn=>{
if(typeof fn!="function") return;
return gnc.await(fn());
return (gnc.is.generatorFunc(fn)?gnc.of(fn):fn)();
}));
}
let toLoad=lib.config.all.cards.length+lib.config.all.characters.length+1;
@ -8335,7 +8319,7 @@
if(!arrayLengths.length) return previousValue+1;
return previousValue+Math.min(...arrayLengths);
},0);
const packLoaded=gnc.async(function*(){
const packLoaded=gnc.of(function*(){
toLoad--;
if(toLoad) return;
if(_status.importing){
@ -8448,13 +8432,13 @@
throw e;
});
var styleToLoad=6;
var styleLoaded=gnc.async(function*(){
var styleLoaded=gnc.of(function*(){
--styleToLoad;
if(styleToLoad==0){
if(extensionlist.length&&(lib.config.mode!='connect'||show_splash)){
_status.extensionLoading=[];
let extToLoad=extensionlist.length;
const extLoaded=gnc.async(function*(){
const extLoaded=gnc.of(function*(){
--extToLoad;
if(extToLoad==0){
yield Promise.allSettled(_status.extensionLoading);
@ -8476,7 +8460,7 @@
continue;
}
lib.init.js(lib.assetURL+'extension/'+extensionlist[i],'extension',extLoaded,(function(i){
return gnc.async(function*(){
return gnc.of(function*(){
game.removeExtension(i);
--extToLoad;
if(extToLoad==0){
@ -9124,13 +9108,13 @@
}
},
//lib.onload支持传入GeneratorFunction以解决异步函数的问题 by诗笺
onload:gnc.async(function*(){
onload:gnc.of(function*(){
const libOnload=lib.onload;
delete lib.onload;
while(Array.isArray(libOnload)&&libOnload.length){
const fun=libOnload.shift();
if(typeof fun!="function") continue;
yield gnc.await(fun());
yield (gnc.is.generatorFunc(fun)?gnc.of(fun):fun)();
}
ui.updated();
game.documentZoom=game.deviceZoom;
@ -9325,7 +9309,7 @@
});
}
var proceed2=gnc.async(function*(){
var proceed2=gnc.of(function*(){
var mode=lib.imported.mode;
var card=lib.imported.card;
var character=lib.imported.character;
@ -9739,7 +9723,8 @@
try{
_status.extension=lib.extensions[i][0];
_status.evaluatingExtension=lib.extensions[i][3];
if (typeof lib.extensions[i][1]=="function") yield gnc.await(lib.extensions[i][1](lib.extensions[i][2],lib.extensions[i][4]));
if (typeof lib.extensions[i][1]=="function")
yield (gnc.is.coroutine(lib.extensions[i][1])?gnc.of(lib.extensions[i][1]):lib.extensions[i][1])(lib.extensions[i][2],lib.extensions[i][4]);
if(lib.extensions[i][4]){
if(lib.extensions[i][4].character){
for(var j in lib.extensions[i][4].character.character){
@ -9791,7 +9776,7 @@
}
game.loop();
})
var proceed=gnc.async(function*(){
var proceed=gnc.of(function*(){
if(!lib.db){
try{
lib.storage=JSON.parse(localStorage.getItem(lib.configprefix+lib.config.mode));
@ -9906,7 +9891,7 @@
while(Array.isArray(libOnload2)&&libOnload2.length){
const fun=libOnload2.shift();
if(typeof fun!="function") continue;
yield gnc.await(fun());
yield (gnc.is.generatorFunc(fun)?gnc.of(fun):fun)();
}
}),
startOnline:function(){
@ -11153,6 +11138,7 @@
xiaosha_emotion:'小杀表情',
xiaotao_emotion:'小桃表情',
xiaojiu_emotion:'小酒表情',
xiaokuo_emotion:'小扩表情',
pause:'暂停',
config:'选项',
@ -29917,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;
@ -33638,7 +33636,7 @@
if(!lib.imported[type])lib.imported[type]={};
if(typeof _status.importing=="undefined")_status.importing={};
if(!_status.importing[type])_status.importing[type]=[];
const promise=gnc.await(content(lib,game,ui,get,ai,_status)).then(content2=>{
const promise=Promise.resolve((gnc.is.generator(content)?gnc.of(content):content)(lib,game,ui,get,ai,_status)).then(content2=>{
if(content2.name){
lib.imported[type][content2.name]=content2;
delete content2.name;
@ -33648,10 +33646,10 @@
return promise;
}
},
loadExtension:gnc.async(function*(obj){
loadExtension:gnc.of(function*(obj){
var noeval=false;
if(typeof obj=='function'){
obj=yield gnc.await(obj(lib,game,ui,get,ai,_status));
obj=yield (gnc.is.generatorFunc(obj)?gnc.of(obj):obj)(lib,game,ui,get,ai,_status);
noeval=true;
}
lib.extensionMenu['extension_'+obj.name]={
@ -33769,7 +33767,7 @@
}
if(obj.precontent){
_status.extension=obj.name;
yield gnc.await(obj.precontent(cfg));
yield (gnc.is.generatorFunc(obj.precontent)?gnc.of(obj.precontent):obj.precontent)(cfg);
delete _status.extension;
}
if(obj.content){
@ -33823,7 +33821,7 @@
})();
}
},
importExtension:gnc.async(function*(data,finishLoad,exportext,pkg){
importExtension:gnc.of(function*(data,finishLoad,exportext,pkg){
//by 来瓶可乐加冰
if(!window.JSZip)
yield new Promise((resolve,reject)=>lib.init.js(`${lib.assetURL}game`,"jszip",resolve,reject));
@ -42304,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:'开启',
@ -47575,6 +47539,7 @@
}
}
var list=[];
const groups=[];
var dialog;
var node=ui.create.div('.caption.pointerspan');
if(get.is.phoneLayout()){
@ -47619,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));
}
@ -47627,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');
@ -47822,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);
@ -48054,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');
@ -53003,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='<span style="font-weight:bold;margin-right:5px;line-height:2">'+charactername+'</span>'+'<span style="font-size:14px;font-family:SimHei,STHeiti,sans-serif">'+'['+characterpinyin+']'+'</span>'+' | '+charactersex+' | '+charactergroup+' | '+characterhp+'<br>'+characterintroinfo;
@ -54351,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);
@ -54679,8 +54607,8 @@
_card.cards=cards.slice(0);
if(!lib.suits.includes(_card.suit)) _card.suit=get.suit(_card);
if(!Object.keys(lib.color).includes(_card.color)) _card.color=get.color(_card);
if(!_card.hasOwnProperty('number')) _card.number=get.number(card);
if(!_card.hasOwnProperty('nature')) _card.nature=get.nature(card);
if(!_card.hasOwnProperty('number')) _card.number=get.number(_card);
if(!_card.hasOwnProperty('nature')) _card.nature=(get.nature(_card)||false);
}
}
}
@ -54799,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'){
@ -56014,14 +55938,13 @@
},
number:function(card,player){
//狗卡你是真敢出啊
var number;
var number=null;
if(card.hasOwnProperty('number')){
number=card.number;
if(typeof number!='number') return null;
if(typeof number!='number') number=null;
}
else{
if(card.cards&&card.cards.length==1) return get.number(card.cards[0]);
return null;
if(card.cards&&card.cards.length==1) number=get.number(card.cards[0],false);
}
if(player!==false){
var owner=player||get.owner(card);
@ -56956,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+='&nbsp;&nbsp;'+(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+='&nbsp;&nbsp;'+(lib.group.contains(node.group)?get.translation(node.group):get.translation(get.character(node.name,1)));
}
uiintro.add(capt);
@ -57663,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)+'&nbsp;&nbsp;';
@ -57674,7 +57597,7 @@
}
uiintro.add(str);
}
else uiintro.add(get.translation(character)+'&nbsp;&nbsp;'+lib.translate[lib.character[node.link][1]]);
else uiintro.add(get.translation(character)+'&nbsp;&nbsp;'+lib.translate[characterinfo[1]]);
}
else{
uiintro.add(get.translation(character));
@ -57780,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<skills.length;i++){
if(lib.translate[skills[i]+'_info']){

View File

@ -8,11 +8,11 @@ var pinyin_dict_polyphone = {
// START
// 武将名
"乐蔡琰": "yuè ",
"用间": " jiàn",
"乐进": "yuè ",
"乐就": "yuè ",
"乐綝": "yuè chēn",
"乐无异": "yuè ",
"华歆": "huà ",
"华雄": "huà ",
"贾诩": "jiǎ ",
@ -22,7 +22,6 @@ var pinyin_dict_polyphone = {
"纪灵": "jǐ ",
"笮融": "zé ",
"逢纪": "páng ",
"妹喜": "mò ",
"许褚": "xǔ chǔ",
"刘辟": " pì",
"刘禅": " shàn",
@ -34,12 +33,23 @@ var pinyin_dict_polyphone = {
"蒋干": " gàn",
"雷薄": " bó",
"吕蒙": " méng",
"端蒙": " méng",
"于禁": " jìn",
"赵累": " lèi",
"夏侯令女": " lìng ",
"马日磾": " mì dī",
"凯撒": " sà",
"乐无异": "yuè ",
"端蒙": " méng",
"妹喜": "mò ",
"露娜": "lù ",
"洛欧塞布": " sài ",
"塞纳留斯": "sài ",
"半藏": " zàng",
"查莉娅": "zhā ",
"单小小": "shàn ",
// 技能名
"驰应": " yìng",
"聆乐": " yuè",
"没矢": "mò ",
"没欲": "mò ",
"血裔": "xuè ",
@ -48,9 +58,10 @@ var pinyin_dict_polyphone = {
"血偿": "xuè ",
"血拼": "xuè ",
"行殇": "xíng ",
"节行": " xíng",
"节行": "jié xíng",
"天行": " xíng",
"神行": " xíng",
"镇行": " xíng",
"行图": "xíng ",
"好施": "hào ",
"荐降": " xiáng",
@ -58,13 +69,17 @@ var pinyin_dict_polyphone = {
"拒降": " xiáng",
"应势": "yìng ",
"应援": "yìng ",
"节应": " yìng",
"应机": "yìng ",
"节应": "jié yìng",
"驰应": " yìng",
"断发": " fà",
"旋风": "xuàn ",
"旋风": "xuàn fēng",
"将驰": "jiàng ",
"将烈": "jiàng ",
"将略": "jiàng ",
"强识": " zhì",
"斩将": " jiàng",
"拜将": " jiàng",
"强识": "qiáng zhì",
"默识": " zhì",
"数谏": "shuò ",
"巧说": " shuì",
@ -90,15 +105,49 @@ var pinyin_dict_polyphone = {
"冯河": "píng ",
"势吓": " hè",
"虚吓": " hè",
"叱吓": " hè",
"度断": "duó ",
"度势": "duó ",
"诛綝": " chēn",
"大喝": " hè",
"大喝": " hè",
"曲误": "qǔ ",
"媛丽": "yuán ",
"媛丽": "yuán ",
"调归": "diào ",
"款塞": " sài",
"父荫": "fù yìn",
"穆荫": " yìn",
"长姬": "zhǎng ",
"朝凤": "cháo ",
"朝争": "cháo ",
"令法": "lìng ",
"耀令": " lìng",
"冠绝": "guàn ",
"先著": " zhuó",
"乐动": "yuè ",
"血凰": "xuè ",
"血戮": "xuè ",
"血刃": "xuè ",
"血契": "xuè ",
"血逐": "xuè ",
"血咒": "xuè ",
"血殇": "xuè ",
"越行": " xíng",
"劫行": " xíng",
"割发": " fà",
"落梅": "luò ",
"落石": "luò ",
"落刀": "luò ",
"星落": " luò",
"舍身": "shě ",
"舍愿": "shě ",
"月露": " lù",
"沾露": " lù",
"禁咒": "jìn ",
"挟令": " lìng",
// END
"撒贝宁": "sà ",
"阿Q": "ā ",
"阿爸": "ā ",
"阿鼻": "ā ",
@ -465,7 +514,7 @@ var pinyin_dict_polyphone = {
"北周": "běi ",
"贝壳": " ké",
"贝勒": " lè",
"备查": " zhā",
"备查": " chá",
"备份": " fèn",
"备员": " yuán",
"背榜": "bēi bǎng",
@ -1401,20 +1450,20 @@ var pinyin_dict_polyphone = {
"查房": "chá ",
"查访": "chá ",
"查封": "chá ",
"查岗": "zhā ",
"查核": "zhā hé",
"查岗": "chá ",
"查核": "chá hé",
"查获": "chá ",
"查缉": "zhā jī",
"查检": "zhā ",
"查缉": "chá jī",
"查检": "chá ",
"查禁": "chá jìn",
"查究": "chá ",
"查勘": "chá ",
"查看": "zhā kàn",
"查看": "chá kàn",
"查考": "chá ",
"查扣": "chá ",
"查明": "chá ",
"查铺": "chá pù",
"查勤": "zhā ",
"查勤": "chá ",
"查哨": "chá ",
"查清": "chá ",
"查实": "chá ",
@ -1425,11 +1474,11 @@ var pinyin_dict_polyphone = {
"查验": "chá ",
"查夜": "chá ",
"查阅": "chá ",
"查帐": "zhā ",
"查帐": "chá ",
"查账": "chá ",
"查找": "chá ",
"查证": "chá ",
"查照": "zhā ",
"查照": "chá ",
"茶场": " chǎng",
"茶匙": " chí",
"茶坊": " fāng",
@ -1662,7 +1711,7 @@ var pinyin_dict_polyphone = {
"倡优": "chàng ",
"唱和": " hè",
"唱头": " tóu",
"抄查": " zhā",
"抄查": " chá",
"抄家": " jiā",
"钞票": " piào",
"抄没": " méi",
@ -1771,7 +1820,7 @@ var pinyin_dict_polyphone = {
"车主": "chē ",
"车子": "chē ",
"车座": "chē ",
"彻查": " zhā",
"彻查": " chá",
"彻底": " dǐ",
"彻骨": " gǔ",
"坼裂": " liè",
@ -1996,7 +2045,7 @@ var pinyin_dict_polyphone = {
"冲撞": "chōng ",
"冲子": "chòng ",
"宠信": " xìn",
"抽查": " zhā",
"抽查": " chá",
"抽打": " dǎ",
"抽调": " diào",
"抽丁": " dīng",
@ -2367,7 +2416,7 @@ var pinyin_dict_polyphone = {
"村上": " shàng",
"村头": " tóu",
"皴裂": " liè",
"存查": " zhā",
"存查": " chá",
"存单": " dān",
"存食": " shí",
"存疑": " yí",
@ -2866,7 +2915,7 @@ var pinyin_dict_polyphone = {
"带脉": " mài",
"带头": " tóu",
"待办": "dài ",
"待查": "dài zhā",
"待查": "dài chá",
"待承": "dài ",
"待到": "dài ",
"待机": "dài ",
@ -4095,7 +4144,7 @@ var pinyin_dict_polyphone = {
"番茄": "fān ",
"番薯": "fān ",
"番禺": "pān yú",
"翻查": " zhā",
"翻查": " chá",
"翻车": " chē",
"翻倒": " dǎo",
"翻地": " dì",
@ -4205,7 +4254,7 @@ var pinyin_dict_polyphone = {
"仿佛": " fú",
"仿冒": " mào",
"仿行": " xíng",
"访查": " zhā",
"访查": " chá",
"彷佛": "páng fó",
"彷徨": "páng ",
"纺车": " chē",
@ -4697,7 +4746,7 @@ var pinyin_dict_polyphone = {
"附着": " zhuó",
"复辟": " bì",
"复仇": " chóu",
"复查": " zhā",
"复查": " chá",
"复读": " dú",
"复合": " hé",
"复核": " hé",
@ -5988,7 +6037,7 @@ var pinyin_dict_polyphone = {
"河沙": " shā",
"河系": " xì",
"河鲜": " xiān",
"核查": "hé zhā",
"核查": "hé chá",
"核弹": "hé dàn",
"核定": "hé ",
"核对": "hé ",
@ -6660,13 +6709,13 @@ var pinyin_dict_polyphone = {
"积攒": " zǎn",
"缉捕": "jī ",
"犄角": " jiǎo",
"缉查": "jī zhā",
"缉查": "jī chá",
"缉获": "jī ",
"缉拿": "jī ",
"缉凶": "jī ",
"缉私": "jī ",
"箕斗": " dòu",
"稽查": "jī zhā",
"稽查": "jī chá",
"稽察": "jī ",
"稽核": "jī hé",
"稽考": "jī ",
@ -7953,7 +8002,7 @@ var pinyin_dict_polyphone = {
"刊头": " tóu",
"刊行": " xíng",
"刊载": " zǎi",
"勘查": " zhā",
"勘查": " chá",
"勘校": " jiào",
"坎坷": " kě",
"看板": "kàn ",
@ -8009,7 +8058,7 @@ var pinyin_dict_polyphone = {
"炕几": " jǐ",
"炕梢": " shāo",
"炕头": " tóu",
"考查": " zhā",
"考查": " chá",
"考场": " chǎng",
"考分": " fēn",
"考风": " fēng",
@ -10461,7 +10510,7 @@ var pinyin_dict_polyphone = {
"朴直": "pǔ ",
"朴拙": "pǔ ",
"普度": " dù",
"普查": " zhā",
"普查": " chá",
"普降": " jiàng",
"普教": " jiào",
"谱号": " hào",
@ -11923,7 +11972,7 @@ var pinyin_dict_polyphone = {
"神阙": " quē",
"神思": " sī",
"神似": " sì",
"审查": " zhā",
"审查": " chá",
"沈思": "shěn sī",
"审处": " chǔ",
"审度": " duó",
@ -12633,7 +12682,7 @@ var pinyin_dict_polyphone = {
"送丧": " sāng",
"送亲": " qīn",
"送行": " xíng",
"搜查": " zhā",
"搜查": " chá",
"搜剿": " jiǎo",
"搜括": " guā",
"苏白": "sū ",
@ -15014,13 +15063,13 @@ var pinyin_dict_polyphone = {
"薰风": " fēng",
"寻见": " jiàn",
"寻思": " sī",
"巡查": " zhā",
"巡查": " chá",
"巡风": " fēng",
"巡行": " xíng",
"巡更": " gēng",
"驯服": " fú",
"驯化": " huà",
"询查": " zhā",
"询查": " chá",
"训令": " lìng",
"训条": " tiáo",
"迅跑": " pǎo",
@ -15131,7 +15180,7 @@ var pinyin_dict_polyphone = {
"延长": " cháng",
"延搁": " gē",
"延期": " qī",
"严查": " zhā",
"严查": " chá",
"严处": " chǔ",
"严禁": " jìn",
"严父": " fù",
@ -15190,7 +15239,7 @@ var pinyin_dict_polyphone = {
"艳服": " fú",
"艳红": " hóng",
"艳丽": " lì",
"验查": " zhā",
"验查": " chá",
"验核": " hé",
"验看": " kàn",
"验票": " piào",
@ -16388,7 +16437,7 @@ var pinyin_dict_polyphone = {
"针刺": " cì",
"针头": " tóu",
"针叶": " yè",
"侦查": " zhā",
"侦查": " chá",
"针织": " zhī",
"侦缉": " jī",
"珍藏": " cáng",
@ -16886,7 +16935,7 @@ var pinyin_dict_polyphone = {
"重设": "zhòng ",
"重申": "chóng ",
"重审": "chóng ",
"重生": "zhòng ",
"重生": "chóng ",
"重视": "zhòng ",
"重述": "chóng ",
"重数": "chóng shù",
@ -17169,7 +17218,7 @@ var pinyin_dict_polyphone = {
"追补": "zhuī ",
"追兵": "zhuī ",
"追捕": "zhuī ",
"追查": "zhuī zhā",
"追查": "zhuī chá",
"追悼": "zhuī ",
"追肥": "zhuī ",
"追风": "zhuī fēng",
@ -32498,7 +32547,7 @@ var pinyin_dict_polyphone = {
"塞井焚舍": "sāi ",
"塞井夷灶": "sāi ",
"塞内加尔": "sāi nèi ",
"塞纳河": "sāi ",
"塞纳河": "sài ",
"塞上江南": "sāi shàng nán",
"塞翁得马": "sài dé ",
"塞翁失马": "sài ",

BIN
image/character/caoxi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB