diff --git a/audio/die/gz_lukang.mp3 b/audio/die/gz_lukang.mp3 new file mode 100644 index 000000000..6e870c8e2 Binary files /dev/null and b/audio/die/gz_lukang.mp3 differ diff --git a/audio/die/simashi.mp3 b/audio/die/simashi.mp3 new file mode 100644 index 000000000..10e615996 Binary files /dev/null and b/audio/die/simashi.mp3 differ diff --git a/audio/die/xin_zhuran.mp3 b/audio/die/xin_zhuran.mp3 new file mode 100644 index 000000000..bab2130a2 Binary files /dev/null and b/audio/die/xin_zhuran.mp3 differ diff --git a/audio/die/yanghuiyu.mp3 b/audio/die/yanghuiyu.mp3 new file mode 100644 index 000000000..baca07783 Binary files /dev/null and b/audio/die/yanghuiyu.mp3 differ diff --git a/audio/skill/baiyi1.mp3 b/audio/skill/baiyi1.mp3 new file mode 100644 index 000000000..686996213 Binary files /dev/null and b/audio/skill/baiyi1.mp3 differ diff --git a/audio/skill/baiyi2.mp3 b/audio/skill/baiyi2.mp3 new file mode 100644 index 000000000..ff6189e4f Binary files /dev/null and b/audio/skill/baiyi2.mp3 differ diff --git a/audio/skill/hongyi1.mp3 b/audio/skill/hongyi1.mp3 new file mode 100644 index 000000000..eb9075d8d Binary files /dev/null and b/audio/skill/hongyi1.mp3 differ diff --git a/audio/skill/hongyi2.mp3 b/audio/skill/hongyi2.mp3 new file mode 100644 index 000000000..08cf0879c Binary files /dev/null and b/audio/skill/hongyi2.mp3 differ diff --git a/audio/skill/jinglve1.mp3 b/audio/skill/jinglve1.mp3 new file mode 100644 index 000000000..0601bee81 Binary files /dev/null and b/audio/skill/jinglve1.mp3 differ diff --git a/audio/skill/jinglve2.mp3 b/audio/skill/jinglve2.mp3 new file mode 100644 index 000000000..d13db9635 Binary files /dev/null and b/audio/skill/jinglve2.mp3 differ diff --git a/audio/skill/keshou1.mp3 b/audio/skill/keshou1.mp3 new file mode 100644 index 000000000..693b7c922 Binary files /dev/null and b/audio/skill/keshou1.mp3 differ diff --git a/audio/skill/keshou2.mp3 b/audio/skill/keshou2.mp3 new file mode 100644 index 000000000..06e8181a8 Binary files /dev/null and b/audio/skill/keshou2.mp3 differ diff --git a/audio/skill/mobiledanshou1.mp3 b/audio/skill/mobiledanshou1.mp3 new file mode 100644 index 000000000..f3fbc7dca Binary files /dev/null and b/audio/skill/mobiledanshou1.mp3 differ diff --git a/audio/skill/mobiledanshou2.mp3 b/audio/skill/mobiledanshou2.mp3 new file mode 100644 index 000000000..4f70c6896 Binary files /dev/null and b/audio/skill/mobiledanshou2.mp3 differ diff --git a/audio/skill/quanfeng1.mp3 b/audio/skill/quanfeng1.mp3 new file mode 100644 index 000000000..576acac7f Binary files /dev/null and b/audio/skill/quanfeng1.mp3 differ diff --git a/audio/skill/quanfeng2.mp3 b/audio/skill/quanfeng2.mp3 new file mode 100644 index 000000000..7b1f1dfc4 Binary files /dev/null and b/audio/skill/quanfeng2.mp3 differ diff --git a/audio/skill/shanli1.mp3 b/audio/skill/shanli1.mp3 new file mode 100644 index 000000000..c9e36b4c2 Binary files /dev/null and b/audio/skill/shanli1.mp3 differ diff --git a/audio/skill/shanli2.mp3 b/audio/skill/shanli2.mp3 new file mode 100644 index 000000000..d95b3fd5e Binary files /dev/null and b/audio/skill/shanli2.mp3 differ diff --git a/audio/skill/zhuwei1.mp3 b/audio/skill/zhuwei1.mp3 new file mode 100644 index 000000000..063e395e6 Binary files /dev/null and b/audio/skill/zhuwei1.mp3 differ diff --git a/audio/skill/zhuwei2.mp3 b/audio/skill/zhuwei2.mp3 new file mode 100644 index 000000000..af0d931e3 Binary files /dev/null and b/audio/skill/zhuwei2.mp3 differ diff --git a/character/diy.js b/character/diy.js index d6589e6f9..43c6764e8 100755 --- a/character/diy.js +++ b/character/diy.js @@ -70,6 +70,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_yuanxi:['male','qun',4,['nsshengyan','nsdaizhan']], ns_caoshuang:['male','wei',4,['nsjiquan','nsfuwei']], + ns_lijue:['male','qun','4/6',['nsfeixiong','nscesuan']], + ns_zhangji:['male','qun',4,['nslulve']], + ns_fanchou:['male','qun',4,['nsyangwu']], ns_jiaxu:['male','qun',3,['nsyice','luanwu']], ns_zhangwei:['female','shu',3,['nsqiyue','nsxuezhu']], ns_chendao:['male','shu',4,['nsjianglie']], @@ -172,7 +175,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ diy_fakenews:["diy_wenyang","ns_zhangwei","ns_caimao"], diy_default:["diy_feishi","diy_liuyan","diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","diy_liufu","diy_xizhenxihong","diy_liuzan","diy_zaozhirenjun","diy_yangyi","diy_tianyu"], diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori","key_jojiro","key_shiroha"], - diy_yongjian:["ns_chendao","yj_caoang","ns_jiaxu"], + diy_official:["ns_chendao","yj_caoang","ns_jiaxu","ns_lijue","ns_zhangji","ns_fanchou"], diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang'], }, }, @@ -6364,6 +6367,144 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, + nsyangwu:{ + enable:'phaseUse', + usable:1, + filterCard:{suit:'heart'}, + filterTarget:function(card,player,target){ + return target!=player&&target.countCards('h')>0; + }, + filter:function(event,player){ + var info=lib.skill.nsyangwu; + return player.countCards('h',info.filterCard)&&game.hasPlayer(function(target){ + return info.filterTarget(null,player,target); + }); + }, + check:function(card){ + var num=0; + var player=_status.event.player; + game.countPlayer(function(current){ + if(current!=player&&get.attitude(player,current)<0) num=Math.max(num,current.countCards('h')-player.countCards('h')); + }); + return Math.ceil((num+1)/2)*2+4-get.value(card); + }, + content:function(){ + var num=Math.ceil((target.countCards('h')-player.countCards('h'))/2); + if(num) player.gainPlayerCard(target,true,'h',num,'visible'); + }, + ai:{ + order:4, + result:{ + target:function(player,target){ + return player.countCards('h')-target.countCards('h'); + }, + }, + }, + }, + nslulve:{ + enable:'phaseUse', + usable:1, + filter:function(event,player){ + return game.hasPlayer(function(current){ + return current.countCards('e')>0&¤t.countCards('e')<=player.countCards('he'); + }); + }, + filterCard:function(){ + if(ui.selected.targets.length) return false; + return true; + }, + position:'he', + selectCard:[1,Infinity], + complexSelect:true, + complexCard:true, + filterTarget:function(card,player,target){ + return target!=player&&target.countCards('e')>0&&ui.selected.cards.length==target.countCards('e'); + }, + check:function(card){ + var player=_status.event.player; + if(game.hasPlayer(function(current){ + return current!=player&¤t.countCards('e')>0&&ui.selected.cards.length==current.countCards('e')&&get.damageEffect(current,player,player)>0; + })) return 0; + switch(ui.selected.cards.length){ + case 0:return 8-get.value(card); + case 1:return 6-get.value(card); + case 2:return 3-get.value(card); + default:return 0; + } + }, + content:function(){ + target.damage('nocard'); + }, + ai:{ + damage:true, + order:2, + result:{ + target:function(player,target){ + return get.damageEffect(target,player); + } + }, + expose:0.3 + } + }, + nsfeixiong:{ + trigger:{player:'phaseUseBegin'}, + direct:true, + filter:function(event,player){ + return player.countCards('h')>0&&game.hasPlayer(function(current){ + return current!=player&&player.canCompare(current); + }); + }, + content:function(){ + 'step 0' + player.chooseTarget(get.prompt2('nsfeixiong'),function(card,player,target){ + return player!=target&&player.canCompare(target); + }).set('ai',function(target){ + var player=_status.event.player; + var hs=player.getCards('h').sort(function(a,b){ + return b.number-a.number; + }); + var ts=target.getCards('h').sort(function(a,b){ + return b.number-a.number; + }); + if(!hs.length||!ts.length) return 0; + if(hs[0].number>ts[0].number) return get.damageEffect(target,player,player); + return 0; + }); + 'step 1' + if(result.bool){ + var target=result.targets[0]; + event.target=target; + player.logSkill('nsfeixiong',target); + player.chooseToCompare(target); + } + else event.finish(); + 'step 2' + if(!result.tie){ + var targets=[player,target]; + if(result.bool) targets.reverse(); + targets[0].damage(targets[1]); + } + }, + }, + nscesuan:{ + trigger:{player:'damageBegin3'}, + forced:true, + content:function(){ + 'step 0' + trigger.cancel(); + event.lose=player.loseMaxHp(); + 'step 1' + if(event.lose&&event.lose.loseHp) player.draw(); + }, + ai:{ + filterDamage:true, + skillTagFilter:function(player,tag,arg){ + if(arg&&arg.player){ + if(arg.player.hasSkillTag('jueqing',false,player)) return false; + } + }, + }, + }, nsyice:{ trigger:{ player:'loseAfter', @@ -6377,7 +6518,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var evt=event.getParent(); if(evt.name!='orderingDiscard'||!evt.relatedEvent||evt.relatedEvent.player!=player||!['useCard','respond'].contains(evt.relatedEvent.name)) return false; } - return event.cards.filterInD('d').length>0; + return (event.cards2||event.cards).filterInD('d').length>0; }, forced:true, content:function(){ @@ -6385,7 +6526,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var evt=trigger.getParent().relatedEvent; if((trigger.name=='discard'&&!trigger.delay)||evt&&evt.name=='respond') game.delayx(); 'step 1' - var cards=trigger.cards.filterInD('d'); + var cards=(trigger.cards2||trigger.cards).filterInD('d'); player.$gain2(cards); if(cards.length==1) event._result={bool:true,links:cards}; else{ @@ -12161,10 +12302,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_jiaxu:'贾诩', nsyice:'遗策', nsyice_info:'锁定技,当你使用/打出/弃置的牌进入弃牌堆后,你将这些牌以任意顺序置于你的武将牌上,称为“策”。若这些“策”中有点数相同的牌,则你获得这两张牌中的所有牌,将这两张牌置于牌堆两端。若场上没有处于濒死状态的角色,则你对一名角色造成1点伤害。', + ns_lijue:'李傕', + ns_zhangji:'张济', + nsfeixiong:'飞熊', + nsfeixiong_info:'出牌阶段开始时,你可以和一名其他角色拼点。赢的角色对没赢的角色造成1点伤害。', + nscesuan:'策算', + nscesuan_info:'锁定技,当你受到伤害时,你防止此伤害并失去一点体力上限。若你因以此法失去体力上限导致体力值减少,则你摸一张牌。', + nslulve:'掳掠', + nslulve_info:'出牌阶段限一次,你可以弃置X张牌并选择一名装备区内有牌的其他角色,然后对其造成1点伤害(X为其装备区内的牌数)。', + ns_fanchou:'樊稠', + nsyangwu:'扬武', + nsyangwu_info:'出牌阶段限一次,你可以弃置一张♥手牌并选择一名手牌数大于你的其他角色。你观看其手牌并获得其中的X张牌(X为其与你手牌数之差的一半且向上取整)。', diy_tieba:'吧友设计', diy_default:'常规', diy_key:'论外', - diy_yongjian:'其他官方武将', + diy_official:'其他官方武将', diy_yijiang:'设计比赛2020', diy_fakenews:'假新闻', diy_trashbin:'垃圾桶', diff --git a/character/mobile.js b/character/mobile.js index d8eebe2d7..61af6d272 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -6,7 +6,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ connect:true, characterSort:{ mobile:{ - mobile_default:["miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei","furong","dingyuan"], + mobile_default:["miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei","furong","dingyuan","simashi","yanghuiyu"], mobile_yijiang:["yj_zhanghe","yj_zhangliao","yj_xuhuang","yj_ganning"], mobile_sunben:["re_sunben"], mobile_standard:["xin_xiahoudun"], @@ -16,7 +16,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, character:{ - xin_zhuran:['male','wu',4,['mobiledanshou'],['unseen']], + simashi:['male','wei',4,['baiyi','jinglve','shanli']], + yanghuiyu:['female','wei',3,['hongyi','quanfeng']], + xin_zhuran:['male','wu',4,['mobiledanshou']], xin_gongsunzan:['male','qun',4,['xinyicong','qiaomeng']], dingyuan:['male','qun',4,['beizhu']], xin_jianyong:['male','shu',3,['xinqiaoshui','xinjyzongshi']], @@ -77,6 +79,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_sunben:['male','wu',4,['jiang','rehunzi','zhiba'],['zhu']], }, characterIntro:{ + simashi:'司马师(208年~255年3月23日),字子元,河内温县(今河南省温县)人。三国时期曹魏权臣,西晋王朝的奠基人之一,晋宣帝司马懿与宣穆皇后张春华的长子,晋文帝司马昭的同母兄,晋武帝司马炎的伯父。司马师沉着坚强,雄才大略,早年与夏侯玄、何晏齐名。高平陵政变后,以功封长平乡侯,旋加卫将军。司马懿死后,以抚军大将军辅政,独揽朝廷大权,次年升为大将军。掌权后,他制定选拔官吏的法规,命百官推荐贤才,整顿纲纪,使其各有职掌,朝野肃然。司马师也有卓越的军事才能,曾用计于新城之战击溃吴国诸葛恪的大军。嘉平六年(254年),魏帝曹芳与中书令李丰等人密谋除司马师,事情泄露,司马师杀死参与者,迫郭太后废曹芳,改立高贵乡公曹髦为帝。次年,亲自率兵平定毌丘俭、文钦之乱。回师途中病死,时年四十八岁,谥号“忠武”。后被追尊为晋景王。西晋建立后,被追尊为景皇帝,庙号世宗。', + yanghuiyu:'羊徽瑜(214年-278年),泰山南城(今山东新泰)人,晋景帝司马师第三任妻子。羊徽瑜出身官宦世家泰山羊氏,她是南阳太守羊续的孙女,上党太守羊衜之女;其母为东汉名士左中郎将蔡邕之女、蔡文姬的姐妹。羊徽瑜聪慧贤德,嫁给司马师后未有子女。以司马师之弟司马昭的次子司马攸为继子。司马师死后,司马攸侍奉羊徽瑜非常孝顺。泰始元年(265年),司马昭长子司马炎受禅登基,建立西晋,追谥伯父司马师为景皇帝。泰始二年(266年),尊奉羊徽瑜为景皇后,因居弘训宫,故称弘训太后。咸宁四年(278年),羊徽瑜去世,时年六十五岁,谥号景献皇后,与司马师合葬峻平陵。', dingyuan:'丁原(?—189年),字建阳,兖州泰山郡南城县(山东省平邑县郑城镇)人。东汉末年军阀,官拜执金吾、并州刺史。任并州刺史期间,他亲近、善待主簿吕布,又调遣部下张杨、张辽等名将到洛阳任职。汉灵帝驾崩后,带兵进入洛阳,担任执金吾,并与大将军何进谋划诛杀十常侍,但不久事情败露,何进被宦官杀死。在宦官被诛灭之后,丁原与军阀董卓在废帝问题上意见不合产生矛盾,于是董卓诱使吕布将其杀害,其势力亦被吞并。', furong:'傅肜(róng)(?-222年),义阳(今湖北枣阳)人,三国时蜀汉将领。刘备攻伐吴国时,傅肜为别督。后刘备被陆逊击败,傅肜率部断后,奋战至死。死前怒斥道:“吴狗!何有汉将军降者!”', zhengxuan:'郑玄(127年-200年),字康成。北海郡高密县(今山东省高密市)人。东汉末年儒家学者、经学大师。郑玄曾入太学攻《京氏易》、《公羊春秋》及《三统历》、《九章算术》,又从张恭祖学《古文尚书》、《周礼》和《左传》等,最后从马融学古文经。游学归里之后,复客耕东莱,聚徒授课,弟子达数千人,家贫好学,终为大儒。党锢之祸起,遭禁锢,杜门注疏,潜心著述。晚年守节不仕,却遭逼迫从军,最终病逝于元城,年七十四。郑玄治学以古文经学为主,兼采今文经学。他遍注儒家经典,以毕生精力整理古代文化遗产,使经学进入了一个“小统一时代”。著有《天文七政论》、《中侯》等书,共百万余言,世称“郑学”,为汉代经学的集大成者。唐贞观年间,列郑玄于二十二“先师”之列,配享孔庙。宋代时被追封为高密伯。后人建有郑公祠以纪念。', @@ -298,8 +302,298 @@ game.import('character',function(lib,game,ui,get,ai,_status){ skills:["rw_zhuge_skill"], }, }, - characterFilter:{}, + characterFilter:{ + simashi:function(mode){ + return !['boss','chess','tafang','stone','versus'].contains(mode); + }, + }, skill:{ + //司马师夫妇 + //垃圾 + baiyi:{ + enable:'phaseUse', + usable:1, + filterTarget:lib.filter.notMe, + selectTarget:2, + limited:true, + skillAnimation:false, + //animationColor:'thunder', + filter:function(event,player){ + return player.isDamaged()&&game.players.length>2; + }, + multitarget:true, + multiline:true, + changeSeat:true, + contentBefore:function(){ + player.$fullscreenpop('败移','thunder'); + }, + content:function(){ + player.awakenSkill('baiyi'); + game.broadcastAll(function(target1,target2){ + game.swapSeat(target1,target2); + },targets[0],targets[1]) + }, + }, + jinglve:{ + audio:2, + enable:'phaseUse', + usable:1, + filter:function(event,player){ + if(player.hasSkill('jinglve2')) return false; + return game.hasPlayer(function(current){ + return current!=player&¤t.countCards('h')>0; + }); + }, + filterTarget:function(card,player,target){ + return target!=player&&target.countCards('h')>0; + }, + content:function(){ + 'step 0' + if(!player.storage.jinglve4) player.storage.jinglve4=[]; + player.storage.jinglve4.add(target); + player.chooseButton(['选择一张牌作为「死士」',target.getCards('h')],true).set('ai',function(button){ + var target=_status.event.getParent().target; + var card=button.link; + var val=target.getUseValue(card); + if(val>0) return val; + return get.value(card); + }); + 'step 1' + if(result.bool){ + player.storage.jinglve2=target; + player.storage.jinglve3=result.links[0]; + player.addSkill('jinglve2'); + } + }, + ai:{ + order:12, + result:{ + target:-1, + }, + }, + }, + jinglve2:{ + mark:true, + intro:{ + name:'死士', + mark:function(dialog,content,player){ + dialog.addText('记录目标'); + dialog.add([content]); + if(player==game.me||player.isUnderControl()){ + dialog.addText('死士牌'); + dialog.add([player.storage.jinglve3]); + } + }, + }, + onremove:function(player){ + delete player.storage.jinglve2; + delete player.storage.jinglve3; + }, + trigger:{global:['dieBegin','loseAfter']}, + silent:true, + lastDo:true, + charlotte:true, + filter:function(event,player){ + if(event.player!=player.storage.jinglve2) return false; + return event.name=='die'||(event.cards.contains(player.storage.jinglve3)&&event.getParent().name!='useCard'); + }, + content:function(){ + player.removeSkill('jinglve2'); + }, + group:'jinglve3', + }, + jinglve3:{ + audio:'jinglve', + trigger:{global:['loseAfter','useCard','phaseAfter']}, + filter:function(event,player){ + if(event.player!=player.storage.jinglve2) return false; + if(event.name=='phase') return event.player.getCards('hej').contains(player.storage.jinglve3); + if(!event.cards.contains(player.storage.jinglve3)) return false; + return event.name=='useCard'||get.position(player.storage.jinglve3,true)=='d'; + }, + forced:true, + charlotte:true, + logTarget:'player', + content:function(){ + if(trigger.name=='useCard'){ + trigger.all_excluded=true; + trigger.targets.length=0; + } + else{ + var next=player.gain(player.storage.jinglve3,trigger.name=='phase'?'giveAuto':'gain2'); + if(trigger.name=='phase') next.source=trigger.player; + } + player.removeSkill('jinglve2'); + }, + }, + shanli:{ + audio:2, + trigger:{player:'phaseZhunbeiBegin'}, + juexingji:true, + forced:true, + skillAnimation:true, + animationColor:'thunder', + filter:function(event,player){ + return player.storage.baiyi&&player.getStorage('jinglve4').length>1; + }, + content:function(){ + 'step 0' + player.awakenSkill('shanli'); + player.loseMaxHp(); + player.chooseTarget(true,'选择【擅立】的目标').set('ai',function(target){ + return get.attitude(_status.event.player,target); + }); + 'step 1' + var target=result.targets[0]; + event.target=target; + player.line(target,'green'); + game.log(player,'拥立',target); + var list=[]; + if(!_status.characterlist){ + if(_status.connectMode) var list=get.charactersOL(); + else{ + var list=[]; + for(var i in lib.character){ + if(lib.filter.characterDisabled2(i)||lib.filter.characterDisabled(i)) continue; + list.push(i); + } + } + game.countPlayer2(function(current){ + list.remove(current.name); + list.remove(current.name1); + list.remove(current.name2); + if(current.storage.rehuashen&¤t.storage.rehuashen.character) list.removeArray(current.storage.rehuashen.character) + }); + _status.characterlist=list; + } + _status.characterlist.randomSort(); + var chara=[]; + var skills=[]; + for(var i of _status.characterlist){ + if(i=='key_yuri') continue; + var character=lib.character[i]; + if(character&&character[3]){ + for(var j of character[3]){ + if(skills.contains(j)||j=='yuri_wangxi'||target.hasSkill('j')) continue; + var info=get.info(j); + if(info&&info.zhuSkill){ + skills.add(j); + chara.add(i); + continue; + } + } + } + if(skills.length>=3) break; + } + if(!skills.length){event.finish();return} + event.chara=chara; + event.skills=skills; + player.chooseControl(skills).set('dialog',['选择令'+get.translation(target)+'获得一个技能',[chara,'character']]); + 'step 2' + target.addSkillLog(result.control); + target.storage.zhuSkill_shanli=[result.control]; + target.setAvatarQueue(target.name1||target.name,[event.chara[event.skills.indexOf(result.control)]]); + }, + //表情暂时来不及做 + }, + hongyi:{ + audio:2, + enable:'phaseUse', + usable:1, + filter:function(event,player){ + return player.countCards('he')>=Math.min(2,game.dead.length); + }, + selectCard:function(){ + return Math.min(2,game.dead.length); + }, + filterCard:true, + filterTarget:lib.filter.notMe, + check:function(card){ + var num=Math.min(2,game.dead.length); + if(!num) return 1; + if(num==1) return 7-get.value(card); + return 5-get.value(card); + }, + position:'he', + content:function(){ + player.addTempSkill('hongyi2',{player:'phaseBeginStart'}); + player.storage.hongyi2.add(target); + player.markSkill('hongyi2'); + }, + ai:{ + order:1, + result:{ + target:function(player,target){ + if(target.hasJudge('lebu')) return -0.5; + return -1-target.countCards('h'); + }, + }, + }, + }, + hongyi2:{ + audio:'hongyi', + trigger:{global:'damageBegin1'}, + charlotte:true, + forced:true, + logTarget:'source', + filter:function(event,player){ + return player.storage.hongyi2.contains(event.source); + }, + content:function(){ + 'step 0' + trigger.source.judge(); + 'step 1' + if(result.color=='black') trigger.num--; + else trigger.player.draw(); + }, + onremove:true, + intro:{ + content:'已选中$为技能目标', + }, + init:function(player,skill){ + if(!player.storage[skill]) player.storage[skill]=[]; + }, + }, + quanfeng:{ + audio:2, + trigger:{global:'die'}, + filter:function(event,player){ + return event.player.getStockSkills('仲村由理','天下第一').filter(function(skill){ + var info=get.info(skill); + return info&&!info.juexingji&&!info.zhuSkill&&!info.charlotte&&!info.limited; + }).length>0; + }, + logTarget:'player', + skillAnimation:true, + limited:true, + forced:true, + animationColor:'thunder', + content:function(){ + 'step 0' + player.awakenSkill('quanfeng'); + var list=trigger.player.getStockSkills('仲村由理','天下第一').filter(function(skill){ + var info=get.info(skill); + return info&&!info.juexingji&&!info.zhuSkill&&!info.charlotte&&!info.limited; + }); + if(list.length==1) event._result={control:list[0]}; + else player.chooseControl(list).set('prompt','选择获得'+get.translation(trigger.player)+'的一个技能').set('forceDie',true).set('ai',function(){ + return list.randomGet(); + }); + 'step 1' + player.addSkillLog(result.control); + game.broadcastAll(function(skill){ + var list=[skill];game.expandSkills(list); + for(var i of list){ + var info=lib.skill[i]; + if(!info) continue; + if(!info.audioname2) info.audioname2={}; + info.audioname2.yanghuiyu='quanfeng'; + } + },result.control); + player.gainMaxHp(); + player.recover(); + }, + }, //手杀朱然 //设计师你改技能有瘾🐴 mobiledanshou:{ @@ -307,42 +601,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, direct:true, filter:function(event,player){ - if(player.countCards('he')>=event.player.countCards('h')) return true; - return game.hasPlayer2(function(current){ - return current.getHistory('useCard',function(evt){ - return get.type(evt.card)!='equip'&&evt.targets.contains(player); - }).length; - }); + if(player==event.player) return false; + var num=event.player.getHistory('useCard',function(evt){ + return evt.targets.contains(player); + }).length; + return num==0||event.player.isAlive()&&num<=player.countCards('he'); }, content:function(){ 'step 0' - var list=[]; - event.addIndex=0; - var num=game.countPlayer2(function(current){ - return current.getHistory('useCard',function(evt){ - return get.type(evt.card)!='equip'&&evt.targets.contains(player); - }).length; - }); + var num=trigger.player.getHistory('useCard',function(evt){ + return evt.targets.contains(player); + }).length; event.num=num; - if(num) list.push('摸'+get.cnNumber(num)+'张牌'); - else event.addIndex++; - var num2=trigger.player.countCards('h'); - event.num2=num2; - if(num2&&player.countCards('he')>=num2) list.push('弃置'+get.cnNumber(num2)+'张牌并对'+get.translation(trigger.player)+'造成1点伤害'); - else if(!num2) list.push('对'+get.translation(trigger.player)+'造成1点伤害'); - player.chooseControl('cancel2').set('prompt',get.prompt('mobiledanshou')).set('choiceList',list); - 'step 1' - if(result.control!='cancel2'){ - player.logSkill('mobiledanshou',trigger.player); - if(result.index+event.addIndex==0){ - player.draw(num); - event.finish(); - } - else if(event.num2) player.chooseToDiscard('he',true,event.num2); + if(num==0){ + if(player.hasSkill('mobiledanshou')) event._result={bool:true}; + else player.chooseBool('是否发动【胆守】摸一张牌?',lib.translate.mobiledanshou_info); } - else event.finish(); + else event.goto(2); + 'step 1' + if(result.bool){ + player.logSkill('mobiledanshou'); + player.draw(); + } + event.finish(); 'step 2' - trigger.player.damage(); + player.chooseToDiscard(num,get.prompt('mobiledanshou',trigger.player),'弃置'+get.translation(num)+'张牌并对其造成1点伤害','he').set('ai',function(card){ + if(!_status.event.goon) return 0; + var num=_status.event.getParent().num; + if(num==1) return 8-get.value(card); + if(num==2) return 6.5-get.value(card); + return 5-get.value(card); + }).set('goon',get.damageEffect(trigger.player,player,player)>0).logSkill=['mobiledanshou',trigger.player]; + 'step 3' + if(result.bool){ + player.addExpose(0.2); + trigger.player.damage(); + } }, }, //丁原 @@ -2723,7 +3017,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(card) cards.push(card); else{ var card=get.cardPile(function(x){ - return !cards.contains(card); + return !cards.contains(x); }); if(card) cards.push(card); } @@ -3421,7 +3715,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, content:function(){ 'step 0' - player.chooseTarget(get.prompt('liezhi'),'弃置至多两名角色区域内的各一张牌',[1,2],function(card,player,target){ + player.chooseTarget(get.prompt('liezhi'),'弃置至多两名其他角色区域内的各一张牌',[1,2],function(card,player,target){ return target!=player&&target.countDiscardableCards(player,'hej')>0; }).ai=function(target){ var player=_status.event.player; @@ -5911,7 +6205,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shouye:'守邺', shouye_info:'每回合限一次。当其他角色使用牌指定你为唯一目标时,你可以与其进行【对策】。若你赢,则你取消此牌的目标,且你于此牌结算完成后获得其对应的所有实体牌。', liezhi:'烈直', - liezhi_info:'准备阶段,你可以依次弃置至多两名角色区域内的各一张牌。若你受到过伤害,则〖烈直〗于你的下个回合无效。', + liezhi_info:'准备阶段,你可以依次弃置至多两名其他角色区域内的各一张牌。若你受到过伤害,则〖烈直〗于你的下个回合无效。', xinzhanyi:'战意', xinzhanyi_info:'出牌阶段限一次,你可以弃置一张牌并失去1点体力,然后根据你弃置的牌获得以下效果直到回合结束:基本牌,你可以将一张基本牌当作杀、酒或桃使用,且你本回合第一次以此法使用的牌的回复值/伤害值+1;锦囊牌,摸三张牌且你使用的牌不能被【无懈可击】响应;装备牌,你使用【杀】指定目标角色后,其弃置两张牌,然后你获得其中的一张。', @@ -6071,7 +6365,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ liechi_info:'锁定技,当你进入濒死状态时,伤害来源弃置一张牌。', xin_liaohua:'手杀廖化', redangxian:'当先', - redangxian_info:'锁定技,回合开始时,你从弃牌堆中获得一张【杀】并进行一个额外的准备阶段。', + redangxian_info:'锁定技,回合开始时,你从弃牌堆中获得一张【杀】并进行一个额外的出牌阶段。', refuli:'伏枥', refuli_info:'限定技,当你处于濒死状态时,你可以将体力值回复至X点(X为势力数)。然后若你的体力值为全场唯一最多,你翻面。', xin_caozhang:'手杀曹彰', @@ -6090,7 +6384,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){ beizhu_info:'出牌阶段限一次,你可以观看一名其他角色的手牌。若其中:没有【杀】,你弃置其一张牌,然后你可令其获得牌堆中的一张【杀】;有【杀】,其依次对你使用这些【杀】,当你因此受到1点伤害后,你摸一张牌。', xin_zhuran:'手杀朱然', mobiledanshou:'胆守', - mobiledanshou_info:'一名角色的结束阶段开始时,你可选择一项:①摸X张牌(X为本回合内目标包含你的非装备牌的数量)。②弃置Y张牌并对当前回合角色造成1点伤害(Y为其手牌数)。', + mobiledanshou_info:'一名其他角色的结束阶段开始时,若X:为0,你摸一张牌;不等于0,你可弃置X张牌并对其造成1点伤害(X为其本回合内使用的目标包含你的牌的数量)', + yanghuiyu:'羊徽瑜', + hongyi:'弘仪', + hongyi2:'弘仪', + hongyi_info:'出牌阶段限一次,你可以弃置X张牌并选择一名其他角色(X为场上已阵亡的角色数且至多为2)。你的下回合开始前,该角色造成伤害时进行判定,若结果为:黑色,此伤害-1。红色,受到伤害的角色摸一张牌。', + quanfeng:'劝封', + quanfeng_info:'锁定技,限定技,一名角色死亡时,你选择获得其的一个技能(主公技,限定技,觉醒技,带有Charlotte标签的技能除外),然后加1点体力上限并回复1点体力。', + simashi:'司马师', + baiyi:'败移', + baiyi_info:'限定技,出牌阶段,若你已受伤,你可以交换两名角色的座次。', + jinglve:'景略', + jinglve2:'景略', + jinglve3:'景略', + jinglve_info:'出牌阶段限一次,你可以观看一名其他角色的手牌,将其中一张牌标记为「死士」。当其使用对应的实体牌中包含「死士」的牌时,你取消此牌的所有目标。当「死士」牌不因使用而进入弃牌堆,或其回合结束后,若「死士」牌仍在其区域内,则你获得此牌。', + shanli:'擅立', + shanli_info:'觉醒技,准备阶段,若你已发动过〖败移〗且对至少两名角色发动过〖景略〗,则你减1点体力上限并选择一名其他角色。系统随机选择三个不为〖忘隙(仲村由理)〗的主公技,然后你选择其中一个,令其获得之。', mobile_standard:'手杀异构·标准包', mobile_shenhua:'手杀异构·神话再临', mobile_yijiang1:'手杀异构·一将成名', diff --git a/character/rank.js b/character/rank.js index cd2c9ced0..55e6cb3f0 100644 --- a/character/rank.js +++ b/character/rank.js @@ -1,710 +1,977 @@ window.noname_character_rank={ s:[ - 'swd_muyun', - 'swd_zhaoyun', - 'swd_septem', - 'hs_sthrall', - 'hs_malorne', - 'swd_duguningke', - 'swd_guyue', - 'swd_murongshi', - 'swd_cheyun', - 'swd_tuobayuer', - 'swd_yuxiaoxue', 'gjqt_bailitusu', - 'swd_huanglei', - 'hs_medivh', - 'pal_yuejinzhao', 'gjqt_beiluo', 'gjqt_xieyi', + 'hs_malorne', + 'hs_medivh', + 'hs_sthrall', + 'pal_yuejinzhao', + 'swd_cheyun', + 'swd_duguningke', + 'swd_guyue', + 'swd_huanglei', + 'swd_murongshi', + 'swd_muyun', + 'swd_septem', + 'swd_tuobayuer', 'swd_xuanyuanjianxian', + 'swd_yuxiaoxue', + 'swd_zhaoyun', + 'key_shiki', + 'shen_zhaoyun', + 'shen_ganning', + 're_liuzan', + 'chunyuqiong', + 'yangbiao', + 'zhaoxiang', + 'sp_xiahoushi', + 'ns_zhangwei', + 'key_mio', + 'key_midori', + 'key_yuri', + 'key_yui', + 'key_lucia', + 'sp_key_kanade', + 'key_shizuru', ], ap:[ - 'hs_hajiasha', - 'gjqt_yunwuyue', + 'gjqt_aruan', 'gjqt_cenying', + 'gjqt_ouyangshaogong', + 'gjqt_yunwuyue', + 'gw_diandian', 'gw_yioufeisisp', - 'pal_liumengli', - 'pal_yuntianhe', - 'pal_lixiaoyao', - 'swd_huanyuanzhi', - 'pal_xiahoujinxuan', - 'swd_huiyan', + 'hs_alakir', + 'hs_ashamoer', + 'hs_aya', + 'hs_hajiasha', + 'hs_malygos', + 'hs_neptulon', + 'hs_tyrande', + 'hs_xsylvanas', + 'ns_nanhua', + 'ow_ana', 'ow_dva', + 'ow_liekong', + 'ow_luxiao', 'ow_mei', 'ow_yuanshi', - 'swd_yuwentuo', - 'pal_xuanxiao', - 'swd_jipeng', - 'lusu', - 'old_yuanshu', - 'xunyu', + 'pal_liumengli', + 'pal_lixiaoyao', 'pal_murongziying', + 'pal_xiahoujinxuan', + 'pal_xuanxiao', + 'pal_yueqi', + 'pal_yuntianhe', + 'pal_zixuan', + 'swd_huanyuanzhi', + 'swd_huiyan', 'swd_jiliang', - 'swd_shuijing', - 'shen_caocao', - 'hs_neptulon', - 'gjqt_aruan', + 'swd_jipeng', 'swd_muyue', 'swd_qi', - 'zhangliao', - 'pal_zixuan', - 'swd_tuwei', - 'hs_xsylvanas', - 'hs_malygos', - 'hs_alakir', - 'ow_luxiao', - 'gjqt_ouyangshaogong', - 'ow_liekong', - 'ow_ana', - 'hs_aya', - 'hs_tyrande', + 'swd_shuijing', 'swd_shuwaner', - 'pal_yueqi', - 'hs_ashamoer', - 'gw_diandian', - 'ns_nanhua', - 're_sunshangxiang', + 'swd_tuwei', + 'swd_yuwentuo', + 'xuyou', + 'xushi', + 'zhangrang', + 'shen_guanyu', + 'shen_caocao', + 'shen_caopi', + 'liubian', + 'majun', + 'jiakui', + 'ol_yuanshao', + 'caoying', + 'simahui', + 'guansuo', + 'yuantanyuanshang', + 'dongyun', + 'key_kamome', + 'key_yukine', + 'key_inari', + 'key_shiina', + 'key_kud', ], a:[ - 'hs_siwangxianzhi', - 'hs_xukongzhiying', - 'hs_tuoqi', - 'mtg_lilianna', - 'mtg_jiesi', - 'mtg_jiding', - 'ns_yanliang', - 'ns_caocaosp', - 'ns_caocao', - 'gw_yisilinni', - 'liuqi', - 'ow_zhaliya', - 'gw_shasixiwusi', + 'diy_zaozhirenjun', + 'gjqt_fanglansheng', + 'gjqt_fengqingxue', + 'gjqt_xiayize', + 'gw_aigeleisi', + 'gw_aimin', + 'gw_airuiting', + 'gw_aisinie', + 'gw_bulanwang', + 'gw_dagong', + 'gw_enxier', + 'gw_falanxisika', + 'gw_fulisi', + 'gw_gaier', + 'gw_haluo', + 'gw_jieluote', 'gw_kairuisi', 'gw_kanbi', - 'gw_nvyemo', - 'gw_linjing', - 'lifeng', - 'gw_meizi', - 'gw_aimin', - 'gw_puxila', - 'gw_bulanwang', 'gw_kaxier', - 'gw_zhangyujushou', - 'xushi', - 'wuxian', - 'pal_tangyurou', + 'gw_linjing', 'gw_luobo', - 'gw_aigeleisi', - 'gw_gaier', - 'pal_mingxiu', - 'pal_luozhaoyan', - 'pal_xia', - 'hs_yashaji', - 'hs_pengpeng', - 'hs_manyututeng', - 'hs_amala', - 'hs_kaituozhe', - 'hs_yinggencao', - 'hs_laila', - 'swd_kendi', - 'hs_enzoth', - 'hs_sapphiron', - 'gw_airuiting', - 'gw_dagong', - 'gw_fulisi', + 'gw_luoqi', + 'gw_meizi', + 'gw_nvyemo', + 'gw_puxila', + 'gw_shasixiwusi', + 'gw_telisi', 'gw_xili', 'gw_yenaifa', 'gw_yioufeisi', - 'gw_jieluote', - 'gw_telisi', - 'gw_luoqi', - 'gw_enxier', - 'gw_aisinie', - 'gw_falanxisika', - 'gw_haluo', - 'hs_khadgar', - 'swd_sikongyu', - 'swd_huzhongxian', - 'swd_anka', - 'swd_kangnalishi', - 'liuxie', - 'shen_lvbu', - 'liufeng', - 'zhangxingcai', - 'shen_lvmeng', - 'swd_xiarou', - 'hs_morgl', - 're_diaochan', - 'diy_zaozhirenjun', - 'ow_heiying', - 'pal_longkui', - 'pal_nangonghuang', - 'pal_xingxuan', - 'hs_walian', - 'hs_laxiao', - 'hs_fandral', - 'sundeng', - 'hs_xialikeer', - 'hs_sainaliusi', - 'hs_lrhonin', - 'hs_ysera', - 'yxs_diaochan', - 'liuzan', - 'lingcao', - 'hs_trueheart', - 'swd_wangsiyue', - 'swd_lanyin', - 'swd_hengai', - 're_huangyueying', - 'hs_bchillmaw', - 'shen_zhugeliang', - 'gjqt_fanglansheng', - 'hs_zhishigushu', - 'hs_zhanzhenggushu', - 'gjqt_xiayize', - 'hs_yngvar', - 're_huanggai', - 'hs_antonidas', - 'chenlin', - 'swd_chenjingchou', - 'hs_anduin', - 'yxs_yangyuhuan', - 'caoang', - 'swd_shanxiaoxiao', - 'gjqt_fengqingxue', - 'swd_ziqiao', - 'pal_jingtian', - 'yxs_wuzetian', - 'yxs_caocao', - 'bulianshi', - 'sp_pangtong', - 'liubiao', - 'zhongyao', - 'liuchen', - 'yxs_guiguzi', - 'hs_shanlingjuren', - 'hs_bannabusi', - 'zhangrang', - 'hs_lafamu', - 'ow_chanyata', - 'ow_tianshi', - 'ow_maikelei', - 'ow_tuobiang', - 'ow_banzang', - 'ow_laiyinhate', - 'wanglang', - 'huangzhong', - 'pal_wangpengxu', - 'yxs_luobinhan', + 'gw_yisilinni', + 'gw_zhangyujushou', 'hs_alleria', - 're_lusu', + 'hs_amala', + 'hs_anduin', + 'hs_antonidas', + 'hs_bannabusi', + 'hs_bchillmaw', + 'hs_enzoth', + 'hs_fandral', 'hs_fuding', - 'wangji', - 're_luxun', - 'pal_muchanglan', - 'yxs_luzhishen', - 'hs_jaina', - 're_lidian', - 'hs_kalimosi', - 'hs_zhihuanhua', - 'xizhicai', - 'maliang', - 'hs_yelinlonghou', - 'sp_liuqi', 'hs_heifengqishi', - 'jikang', - 'ns_lvmeng', - 'ns_simazhao', + 'hs_jaina', + 'hs_kaituozhe', + 'hs_kalimosi', + 'hs_khadgar', + 'hs_lafamu', + 'hs_laila', + 'hs_laxiao', + 'hs_lrhonin', + 'hs_manyututeng', + 'hs_morgl', + 'hs_pengpeng', + 'hs_sainaliusi', + 'hs_sapphiron', + 'hs_shanlingjuren', + 'hs_siwangxianzhi', + 'hs_trueheart', + 'hs_tuoqi', + 'hs_walian', + 'hs_xialikeer', + 'hs_xukongzhiying', + 'hs_yashaji', + 'hs_yelinlonghou', + 'hs_yinggencao', + 'hs_yngvar', + 'hs_ysera', + 'hs_zhanzhenggushu', + 'hs_zhihuanhua', + 'hs_zhishigushu', + 'mtg_jiding', + 'mtg_jiesi', + 'mtg_lilianna', + 'ns_caocao', + 'ns_caocaosp', 'ns_guanlu', 'ns_jinke', + 'ns_lvmeng', + 'ns_simazhao', 'ns_wangyun', - 'zuoci', - 're_liubei', - 'guansuo', + 'ns_yanliang', + 'ow_banzang', + 'ow_chanyata', + 'ow_heiying', + 'ow_laiyinhate', + 'ow_maikelei', + 'ow_tianshi', + 'ow_tuobiang', + 'ow_zhaliya', + 'pal_jingtian', + 'pal_longkui', + 'pal_luozhaoyan', + 'pal_mingxiu', + 'pal_muchanglan', + 'pal_nangonghuang', + 'pal_tangyurou', + 'pal_wangpengxu', + 'pal_xia', + 'pal_xingxuan', + 'swd_anka', + 'swd_chenjingchou', + 'swd_hengai', + 'swd_huzhongxian', + 'swd_kangnalishi', + 'swd_kendi', + 'swd_lanyin', + 'swd_shanxiaoxiao', + 'swd_sikongyu', + 'swd_wangsiyue', + 'swd_xiarou', + 'swd_ziqiao', + 'yxs_caocao', + 'yxs_diaochan', + 'yxs_guiguzi', + 'yxs_luobinhan', + 'yxs_luzhishen', + 'yxs_wuzetian', + 'yxs_yangyuhuan', + 'zhangxiu', + 'liuyan', + 'xin_masu', + 'zhugezhan', + 'key_kagari', + 'shen_luxun', + 'shen_zhugeliang', + 'wenyang', + 'huaman', + 'puyuan', + 'lijue', + 'zhangchangpu', + 'zhangqiying', + 'wangyuanji', + 'miheng', + 're_guojia', + 're_sunquan', + 're_zhangjiao', + 're_zuoci', + 'sunhao', + 'shixie', + 'wanglang', + 'ol_zhangchangpu', + 'shamoke', + 'diy_wenyang', + 'key_misuzu', + 'key_sunohara', + 'key_umi', + 'key_tsumugi', + 'key_saya', + 'key_hisako', + 'key_ao', + 'key_yuzuru', + 'key_kyoko', + 'key_jojiro', + 'key_shiroha', + 'key_shiori', + 'key_iwasawa', ], am:[ - 'gw_saqiya', - 'gw_zhuoertan', - 'qinmi', - 'ns_duangui', - 'diaochan', - 'gw_lanbote', - 'gw_fenghuang', - 'ns_zuoci', - 'ns_huangzu', - 'ns_xinxianying', - 'ns_shenpei', - 'xuezong', - 'caiyong', - 'hs_barnes', - 'hs_yangyanwageli', - 'hs_aiqinvyao', - 'gjqt_chuqi', - 'gjqt_yanjiaxieyi', - 'beimihu', - 'hs_taisi', - 'caocao', - 'gw_oudimu', - 'guanyinping', - 'dongyun', - 'gw_xigedelifa', - 'gw_laomaotou', - 'gw_haizhiyezhu', - 'gw_nitelila', - 'gw_bierna', - 'gw_fuertaisite', - 'gw_hengsaite', - 'gw_kuite', - 'sunqian', - 'pal_anu', - 'gw_mieren', - 'gw_sanhanya', - 'pal_xianqing', - 'gw_shanhu', - 'gw_huoge', - 'taoqian', - 'pal_jushifang', - 'hs_fachaotuteng', - 'huangfusong', - 'hs_shizugui', - 'hs_shuiwenxuejia', - 'hs_pyros', - 'swd_xiyan', - 'swd_xiaohuanglong', - 'ow_orisa', - 'ow_baolei', - 'ow_wensidun', - 'gw_gaier', - 'gw_laduoweide', - 'gw_kaerweite', - 'yxs_napolun', - 'hs_aedwin', - 'hs_wujiyuansu', - 'ow_kuangshu', - 'old_wangyi', - 'hs_shaku', - 're_zhangliao', - 'zhoutai', - 'zhugejin', - 'hs_totemic', - 'swd_duanmeng', - 'pal_wenhui', - 'gjqt_xunfang', - 'ow_shibing', - 'hs_blingtron', - 'hs_kcthun', - 'ow_zhixuzhiguang', - 'ow_falaozhiying', - 'hs_bolvar', - 'sp_caiwenji', - 'yxs_yingzheng', - 'caorui', - 'manchong', - 'yxs_xiangyu', - 'swd_linyue', - 'swd_fuyan', - 'pal_xuejian', - 'swd_maixing', - 'xunyou', - 're_daqiao', - 'swd_fengyu', - 'swd_xuanyuanjiantong', - 'zhugeke', - 'pal_changqing', - 'gjqt_xiangling', - 'diy_zhenji', - 'gjqt_yuewuyi', - 'hs_magni', - 're_zhouyu', - 'dengai', - 'zhonghui', - 'hs_ronghejuren', - 'hs_wvelen', - 'swd_yuchiyanhong', - 'pal_hanlingsha', - 'diy_liuyan', - 'diy_zhouyu', - 'swd_jiuyou', - 'swd_duopeng', - 'swd_kama', - 'swd_yuli', - 'swd_rongshuang', - 'zhanghe', - 'zhangzhang', - 'pal_zhaoliner', - 'caozhi', - 'caochong', - 'xin_fazheng', - 'wuguotai', - 'chengong', - 'hs_siwangzhiyi', - 'hs_bilanyoulong', - 'yxs_direnjie', - 'yxs_sunwu', - 'zhanglu', - 'yxs_luban', - 'yxs_huamulan', - 'hs_jiaziruila', - 'hs_brann', - 'hs_kchromaggus', - 'sunru', - 'yxs_zhangsanfeng', - 'yxs_nandinggeer', - 'hs_kazhakusi', - 'swd_yeyaxi', - 'dianwei', - 'swd_weida', - 'yxs_libai', - 'hs_yogg', - 'swd_nicole', - 'yxs_wangzhaojun', - 'hs_alextrasza', - 'yxs_yangguang', - 're_sunquan', - 'wangyi', 'diy_caiwenji', + 'diy_liuyan', + 'diy_zhenji', + 'diy_zhouyu', + 'gjqt_chuqi', + 'gjqt_xiangling', + 'gjqt_xunfang', + 'gjqt_yanjiaxieyi', + 'gjqt_yuewuyi', + 'gw_bierna', + 'gw_fenghuang', + 'gw_fuertaisite', + 'gw_gaier', + 'gw_haizhiyezhu', + 'gw_hengsaite', + 'gw_huoge', + 'gw_kaerweite', + 'gw_kuite', + 'gw_laduoweide', + 'gw_lanbote', + 'gw_laomaotou', + 'gw_mieren', + 'gw_nitelila', + 'gw_oudimu', + 'gw_sanhanya', + 'gw_saqiya', + 'gw_shanhu', + 'gw_xigedelifa', + 'gw_zhuoertan', + 'hs_aedwin', + 'hs_aiqinvyao', + 'hs_alextrasza', + 'hs_barnes', + 'hs_bilanyoulong', + 'hs_blingtron', + 'hs_bolvar', + 'hs_brann', + 'hs_fachaotuteng', + 'hs_jiaziruila', + 'hs_kazhakusi', + 'hs_kchromaggus', + 'hs_kcthun', + 'hs_magni', 'hs_mijiaojisi', 'hs_mojinbaozi', - 'xuhuang', - 'liuye', - 'sunshangxiang', + 'hs_pyros', + 'hs_ronghejuren', + 'hs_shaku', + 'hs_shizugui', + 'hs_shuiwenxuejia', + 'hs_siwangzhiyi', + 'hs_taisi', + 'hs_totemic', + 'hs_wujiyuansu', + 'hs_wvelen', + 'hs_yangyanwageli', + 'hs_yogg', + 'ns_duangui', + 'ns_huangzu', + 'ns_masu', + 'ns_shenpei', + 'ns_sunjian', + 'ns_xinxianying', 'ns_yuji', 'ns_yujisp', 'ns_zhangxiu', - 'ns_masu', - 'ns_sunjian', - 're_zhugeliang', - 're_zhenji', - 'chengyu', + 'ns_zuoci', + 'ow_baolei', + 'ow_falaozhiying', + 'ow_kuangshu', + 'ow_orisa', + 'ow_shibing', + 'ow_wensidun', + 'ow_zhixuzhiguang', + 'pal_anu', + 'pal_changqing', + 'pal_hanlingsha', + 'pal_jushifang', + 'pal_wenhui', + 'pal_xianqing', + 'pal_xuejian', + 'pal_zhaoliner', + 'swd_duanmeng', + 'swd_duopeng', + 'swd_fengyu', + 'swd_fuyan', + 'swd_jiuyou', + 'swd_kama', + 'swd_linyue', + 'swd_maixing', + 'swd_nicole', + 'swd_rongshuang', + 'swd_weida', + 'swd_xiaohuanglong', + 'swd_xiyan', + 'swd_xuanyuanjiantong', + 'swd_yeyaxi', + 'swd_yuchiyanhong', + 'swd_yuli', + 'yxs_direnjie', + 'yxs_huamulan', + 'yxs_libai', + 'yxs_luban', + 'yxs_nandinggeer', + 'yxs_napolun', + 'yxs_sunwu', + 'yxs_wangzhaojun', + 'yxs_xiangyu', + 'yxs_yangguang', + 'yxs_yingzheng', + 'yxs_zhangsanfeng', + 're_yuanshu', + 'guojia', + 'caopi', + 're_yuanshao', + 'wangping', + 'luji', + 'haozhao', + 'lukang', + 'lvdai', + 'zhoufang', + 'zhuzhi', + 'guohuai', + 'caorui', + 'liuyu', + 'qinmi', + 'shen_diaochan', + 'shen_zhenji', + 'shen_simayi', + 'xushao', + 're_yujin', + 'xurong', + 'beimihu', + 'guanlu', + 'gexuan', + 're_xusheng', + 'pangdegong', + 'sp_sufei', + 'xin_zhuran', + 're_zhanggong', + 'zhengxuan', + 're_sunshangxiang', + 're_lvbu', + 'caoren', + 'ol_xiahouyuan', + 're_huangzhong', + 'ol_weiyan', + 'zhoutai', + 're_xunyu', + 'yujin_yujin', + 'xin_lingtong', + 're_bulianshi', + 're_zhonghui', + 're_zhuran', + 're_wuyi', + 'zhangbao', + 'maliang', + 'zhugedan', + 'chenlin', + 'xizhicai', + 'luzhi', + 'huangfusong', + 'sp_pangtong', + 'ns_jiaxu', + 'old_jiakui', + 'key_kyousuke', + 'key_yusa', + 'key_misa', + 'key_masato', + 'key_harukakanata', + 'key_rin', + 'key_yuiko', + 'key_nagisa', + 'key_godan', + 'key_yuu', + 'sp_key_yuri', + 'tw_beimihu', + 'ns_caoshuang', ], bp:[ - 'hs_duyaxinshi', - 'xiahouyuan', - 'ns_huamulan', - 'sunquan', - 'ns_zhugeliang', - 'ns_zhangbao', - 'ns_yangyi', - 'gw_feilafanruide', - 'tangzi', - 'hs_fengjianhuanfengzhe', - 'zhenji', - 'gw_qigaiwang', - 'quyi', - 'wangyun', - 'pal_xiaoman', - 'pal_jiangyunfan', - 'pal_longyou', - 'gw_aokeweisite', - 'pal_wangxiaohu', - 'pal_shenqishuang', - 'pal_sumei', - 'hs_tgolem', - 'hs_huolituteng', - 'hs_selajin', - 'hs_hemite', - 'zoushi', - 'swd_zhiyin', - 'hs_hudunren', - 'hs_ruanniguai', - 'diy_lukang', - 'yxs_meixi', - 'yxs_lanlinwang', - 'jianyong', - 'jiling', - 'zhangren', - 'yanbaihu', - 'sunziliufang', - 'shen_zhouyu', - 'yj_jushou', - 'swd_zidashu', - 'taishici', - 'caifuren', - 'yxs_kaisa', - 'sunluyu', - 'liyan', - 'pal_jiangcheng', - 'zhugeguo', - 'xiaoqiao', - 'sp_zhangjiao', - 'hs_tanghangu', - 'ow_heibaihe', - 'ow_luba', - 'pal_leiyuange', - 'dongbai', - 'swd_moye', - 'guohuanghou', - 'yxs_zhaoyong', - 'litong', - 'old_quancong', - 'mizhu', - 'hs_hallazeal', - 'liuyu', - 'buzhi', - 'chess_zhangliao', - 'chess_sunshangxiang', - 'chess_huangzhong', - 'chess_taishici', 'chess_diaochan', - 'ow_sishen', - 'hs_nate', - 'hs_finley', - 'hs_yelise', - 'hs_loatheb', - 'hs_xuanzhuanjijia', - 'swd_quxian', - 'yxs_zhuyuanzhang', - 'yxs_jinke', - 'gongsunyuan', - 'guotufengji', - 'shixie', - 'yxs_mozi', - 'hs_xuefashi', - 'xiahoushi', - 'zhangsong', - 'yxs_yuefei', - 'yxs_fuermosi', - 'yxs_xiaoqiao', - 'zhuhuan', - 'yxs_aijiyanhou', - 'yxs_bole', - 're_machao', - 're_guanyu', - 'yuanshao', - 're_yuanshao', - 'hs_waleera', - 'gjqt_yinqianshang', + 'chess_huangzhong', + 'chess_sunshangxiang', + 'chess_taishici', + 'chess_zhangliao', + 'diy_liuzan', + 'diy_lukang', + 'diy_xuhuang', + 'diy_yangyi', 'gjqt_hongyu', 'gjqt_wenrenyu', - 'shen_zhaoyun', - 'swd_shangzhang', - 'swd_situqiang', + 'gjqt_yinqianshang', + 'gw_aokeweisite', + 'gw_feilafanruide', + 'gw_qigaiwang', + 'hs_anomalus', + 'hs_duyaxinshi', + 'hs_fengjianhuanfengzhe', + 'hs_finley', + 'hs_guldan', + 'hs_hallazeal', + 'hs_hemite', + 'hs_hudunren', + 'hs_huolituteng', + 'hs_jgarrosh', + 'hs_liadrin', + 'hs_loatheb', + 'hs_lreno', + 'hs_lrexxar', 'hs_malfurion', - 'swd_haidapang', + 'hs_nate', + 'hs_nozdormu', + 'hs_ruanniguai', + 'hs_selajin', + 'hs_shifazhe', + 'hs_tanghangu', + 'hs_tgolem', + 'hs_waleera', 'hs_wuther', - 'sp_dongzhuo', - 'jiangwei', - 'liubei', - 'mateng', - 'wutugu', + 'hs_xuanzhuanjijia', + 'hs_xuefashi', + 'hs_yelise', + 'hs_zhouzhuo', + 'ns_huamulan', + 'ns_yangyi', + 'ns_zhangbao', + 'ns_zhugeliang', + 'ow_heibaihe', + 'ow_luba', + 'ow_sishen', + 'pal_jiangcheng', + 'pal_jiangyunfan', + 'pal_leiyuange', + 'pal_longyou', + 'pal_shenqishuang', + 'pal_sumei', + 'pal_wangxiaohu', + 'pal_xiaoman', 'swd_chunyuheng', - 'hetaihou', 'swd_fengtianling', - 'kongrong', - 'swd_qiner', - 'sp_diaochan', - 'swd_jiangziya', - 'liushan', - 'zhugedan', - 'sp_zhaoyun', - 're_huatuo', - 'swd_jiangwu', - 'sp_jiangwei', - 'zhugeliang', - 'swd_huyue', - 'swd_zhuoshanzhu', - 'swd_shaowei', + 'swd_haidapang', 'swd_hanlong', 'swd_hupo', - 'caopi', - 'jiaxu', - 'zhangchunhua', - 'xushu', - 'xin_xushu', - 'lingtong', - 'chenqun', - 'guyong', - 'diy_xuhuang', - 'hs_jgarrosh', - 'guanping', - 'sunxiu', - 'quancong', - 'yxs_luocheng', - 'caoren', - 'zumao', - 'sp_ganning', - 'sp_lvmeng', - 'swd_lilian', - 'hs_lreno', - 'hs_zhouzhuo', - 'hs_liadrin', - 'hs_anomalus', - 'mifuren', - 'hanba', - 'sunjian', - 'pangtong', - 'caochun', - 'diy_liuzan', - 'diy_yangyi', - 're_yuanshu', - 'yuanshu', - 're_guojia', - 'cuiyan', - 'sp_zhugeliang', - 'hs_guldan', - 're_ganning', - 'caiwenji', - 're_xushu', - 'hs_lrexxar', - 'huatuo', - 'sunhao', + 'swd_huyue', + 'swd_jiangwu', + 'swd_jiangziya', 'swd_jiting', - 'hs_nozdormu', - 'zhoucang', - 'hs_shifazhe', - 'huanghao', - 'luzhi', + 'swd_lilian', + 'swd_moye', + 'swd_qiner', + 'swd_quxian', + 'swd_shangzhang', + 'swd_shaowei', + 'swd_situqiang', + 'swd_zhiyin', + 'swd_zhuoshanzhu', + 'swd_zidashu', + 'yxs_aijiyanhou', + 'yxs_bole', + 'yxs_fuermosi', + 'yxs_jinke', + 'yxs_kaisa', + 'yxs_lanlinwang', + 'yxs_luocheng', + 'yxs_meixi', + 'yxs_mozi', + 'yxs_xiaoqiao', + 'yxs_yuefei', + 'yxs_zhaoyong', + 'yxs_zhuyuanzhang', + 'zhangliao', + 'zhenji', + 'zhugeliang', + 'sunquan', + 'daqiao', + 'diaochan', + 'liubei', + 'xf_yiji', + 'zhoufei', + 'xunyu', + 'kuailiangkuaiyue', + 'dianwei', + 're_lusu', + 'panjun', + 'xinxianying', + 'liubiao', + 'zhongyao', + 'liuchen', + 'caochong', + 'liufeng', + 'zhangsong', + 'zhuhuan', + 'wuxian', + 'jikang', + 'shen_lvbu', + 'shen_liubei', + 're_maliang', + 'caobuxing', + 'caoxing', + 're_panfeng', + 'leitong', + 'sp_liuqi', + 'xf_tangzi', + 'liuzan', + 'lingcao', + 'sunru', + 'lifeng', + 'zhangyì', + 'yj_xuhuang', + 'xin_liaohua', + 're_wangyun', + 're_caocao', + 're_guanyu', + 're_huanggai', + 're_liubei', + 're_zhangliao', + 're_zhugeliang', + 're_daqiao', + 're_diaochan', + 'ol_pangtong', + 'ol_pangde', + 're_zhurong', + 're_menghuo', + 're_liubiao', + 'xin_liubiao', + 're_liru', + 're_manchong', + 're_jianyong', + 're_yufan', + 're_zhangyi', + 're_sunxiu', + 'caoang', + 'sp_caoren', + 'zhugeke', + 'caochun', + 'quyi', + 'sp_zhangliao', + 'yuanshu', + 'sp_zhaoyun', + 'zhangxingcai', + 'chengyu', + 'buzhi', + 'jsp_zhaoyun', + 'huangjinleishi', + 'sp_wangyuanji', + 'sp_xinxianying', + 'sp_liuxie', + 'key_kengo', + 'key_riki', + 'key_hinata', + 'key_akane', + 'key_shiorimiyuki', + 'key_miki', + 'key_ryoichi', + 'key_kotori', + 'nashime', + 'ns_huangchengyan', + 'ns_yuanxi', ], b:[ - 'hs_yelinchulong', - 'xinxianying', - 'caojie', - 'hs_shirencao', - 'sp_daqiao', - 'hs_jiawodun', - 'yxs_weizhongxian', - 'cenhun', - 'panzhangmazhong', - 'jsp_guanyu', - 'wenpin', - 'diy_liufu', - 're_xuzhu', - 're_simayi', - 'yxs_mingchenghuanghou', - 'diy_tianyu', - 'old_zhuran', - 'old_lingtong', - 'sp_jiaxu', - 'sp_liubei', - 'zhuling', - 'xin_liru', - 'weiyan', - 'sp_xiahoudun', - 'jsp_huangyueying', - 'sp_zhangfei', - 'yxs_lishimin', - 'daxiaoqiao', - 'pal_linyueru', - 'zhuran', - 'fuhuanghou', - 'xin_masu', - 'yxs_chengjisihan', - 'masu', - 'handang', - 'swd_youzhao', - 'swd_fu', - 'yxs_chengyaojin', - 'yxs_yujix', - 'swd_jialanduo', - 'kanze', - 'mazhong', - 'zhaoxiang', - 'heqi', - 'sp_machao', - 're_zhaoyun', - 'fuwan', - 'hs_jinglinglong', - 'ganfuren', - 'hs_huzhixiannv', - 'sp_sunshangxiang', - 'jiangqing', - 'shen_simayi', - 'swd_hanluo', - 'swd_zhanggao', - 'simalang', - 'sp_caoren', - 'daqiao', - 'swd_luchengxuan', - 'dongzhuo', - 'fazheng', - 'yufan', - 'guanzhang', - 'diy_yuji', - 'yuejin', - 'gaoshun', - 'chengpu', - 'caozhen', - 'wuyi', - 'hanhaoshihuan', - 'caoxiu', - 'zhangyi', - 'yxs_baosi', - 'lingju', - 'xin_yujin', 'diy_feishi', + 'diy_liufu', + 'diy_tianyu', + 'diy_yuji', + 'hs_huzhixiannv', + 'hs_jiawodun', + 'hs_jinglinglong', + 'hs_shirencao', + 'hs_yelinchulong', + 'pal_linyueru', + 'swd_fu', + 'swd_hanluo', + 'swd_jialanduo', + 'swd_luchengxuan', + 'swd_youzhao', + 'swd_zhanggao', + 'yxs_baosi', + 'yxs_chengjisihan', + 'yxs_chengyaojin', + 'yxs_lishimin', 'yxs_lvzhi', - 'madai', - 'sunce', - 'huangyueying', - 'guojia', - 'jiangfei', - 'xiahouba', + 'yxs_mingchenghuanghou', 'yxs_tangbohu', - 'caozhang', - 'pangde', + 'yxs_weizhongxian', + 'yxs_yujix', + 'simayi', + 'huatuo', + 'huangyueying', + 'zhouyu', + 'sunshangxiang', + 're_weiyan', + 'guanqiujian', + 'zhanghe', + 'caiwenji', + 're_xiahouyuan', + 'yl_yuanshu', + 'sunliang', + 're_pangde', + 'zuoci', + 'wangji', + 'jiaxu', + 'liushan', + 'zhangzhang', + 'yanjun', + 're_jsp_pangtong', + 'handang', + 'zhangchunhua', + 'xunyou', + 'yufan', + 'chengong', + 'bulianshi', + 'fuhuanghou', + 'manchong', + 'chenqun', + 'yj_jushou', + 'xiahoushi', + 'zhoucang', + 'gaoshun', + 'caozhen', + 'zhangyi', + 'gongsunyuan', + 'guotufengji', + 'xin_liru', + 'liyan', + 'cenhun', + 'huanghao', + 'sunziliufang', + 'ol_zhangliao', + 'shen_lvmeng', + 'shen_zhouyu', + 'ol_yujin', + 'zhanggong', + 'weiwenzhugezhi', + 'liuhong', + 'zhujun', + 'zhangji', + 'xf_sufei', + 'xugong', + 'sp_shenpei', + 'xunchen', + 'sp_zhanghe', + 'sp_xuyou', + 'lvkuanglvxiang', + 'wulan', + 're_sunben', + 'hujinding', + 'dongcheng', + 'taoqian', + 'chendeng', + 'xin_xiahoudun', + 're_jikang', + 'zhuling', + 'zhaotongzhaoguang', + 'simazhao', + 're_xiahoudun', + 're_machao', + 're_zhangfei', + 're_zhaoyun', + 're_zhouyu', + 're_ganning', + 're_huangyueying', + 're_zhenji', + 'xin_yuji', + 're_taishici', + 're_yanwen', + 'ol_sunjian', + 're_caopi', + 're_xuhuang', + 'ol_dongzhuo', + 're_dengai', + 're_jiangwei', + 're_caiwenji', + 'ol_liushan', + 're_zhangzhang', + 're_masu', + 'old_madai', + 'wangyi', + 'guanzhang', + 're_chengpu', + 're_sunluban', + 're_caoxiu', + 'sunluyu', + 'sp_diaochan', + 'liuxie', + 'zhugejin', + 'guanyinping', + 'yangxiu', + 'sp_caiwenji', + 'sp_jiangwei', + 'sp_machao', + 'yanbaihu', + 'jsp_huangyueying', + 'zumao', + 'wenpin', + 'zhangling', + 'caoshuang', + 'fuwan', + 'litong', + 'mizhu', + 'dongbai', + 'sp_lvmeng', + 'sp_zhangfei', + 'sp_simazhao', + 'jianggan', + 'yj_chendao', + 'yj_caoang', + 'ns_caimao', + 'key_nao', + 'key_haruko', + 'key_rei', + 'key_komari', + 'key_yoshino', + 'key_sasami', + 'key_doruji', + 'key_noda', + 'key_tomoya', + 'key_ayato', + 'key_kaori', + 'key_akiko', + 'key_abyusa', + 'ns_sunchensunjun', + 'simashi', + 'yanghuiyu', ], bm:[ + 'diy_xizhenxihong', 'ns_nanhua_left', 'ns_nanhua_right', 'ns_wenchou', - 'zangba', - 'diy_xizhenxihong', - 'tadun', - 'guohuai', - 'sunluban', - 'zhouyu', - 'dingfeng', - 'mayunlu', - 'shen_guanyu', - 're_caocao', - 're_lvbu', - 'chendong', - 'simayi', - 'ganning', - 'luxun', - 'zhangjiao', - 'zhurong', - 'jsp_zhaoyun', - 'tianfeng', - 'old_zhonghui', - 'xusheng', - 'liru', - 're_zhangfei', 'yxs_goujian', - 'yangxiu', - 're_lvmeng', - 're_xiahoudun', - 'zhangliang', - 'sp_pangde', + 'machao', + 'ganning', + 'caocao', + 'huangzhong', + 're_xiaoqiao', + 'xuhuang', + 'chendao', + 'dongzhuo', + 'taishici', 'yanwen', + 'menghuo', + 'sp_zhugeliang', + 'jiangwei', + 'dengai', + 'sunce', + 'sunjian', + 'zhurong', + 'old_zhoutai', + 'old_caoren', + 'pangtong', + 'yanyan', + 'sp_zhangjiao', + 're_yuji', + 'wangcan', + 'xuezong', + 'caozhi', + 'zhonghui', + 'wuyi', + 'caifuren', + 'lingtong', + 'sunxiu', + 'quancong', + 'guohuanghou', + 'sundeng', + 'fazheng', + 'guanping', + 'old_guanzhang', + 'old_wangyi', + 'guyong', + 'zhuran', + 'xusheng', + 'wuguotai', + 'jianyong', + 'shen_zhangliao', + 'lvkai', + 'ol_xinxianying', + 'xinpi', + 'mangyachang', + 'xin_baosanniang', + 're_sunluyu', + 'wangshuang', + 'xingdaorong', + 'fanchou', + 'guosi', + 'xf_huangquan', + 'xin_caozhang', + 're_heqi', + 're_sp_zhugeliang', + 're_liushan', + 'yj_ganning', + 're_pangtong', + 'xin_yuanshao', + 'liuye', + 're_weiwenzhugezhi', + 'xin_jianyong', + 're_sunjian', + 'old_bulianshi', + 're_guanqiujian', + 'shenpei', + 're_baosanniang', + 're_xugong', + 're_simayi', + 're_lidian', + 're_xuzhu', + 're_xushu', + 're_lvmeng', + 're_luxun', + 're_huatuo', + 're_huaxiong', + 're_gongsunzan', + 'ol_xiaoqiao', + 'ol_sp_zhugeliang', + 're_dianwei', + 're_sunce', + 'ol_dengai', + 're_wuguotai', + 're_gaoshun', + 're_caozhi', + 're_lingtong', + 'xin_xusheng', + 'xin_fazheng', + 're_handang', + 're_liaohua', + 're_caozhang', + 're_guohuai', + 're_panzhangmazhong', + 're_quancong', + 'jsp_guanyu', + 'caohong', + 'xiahouba', + 'simalang', + 'sp_sunshangxiang', + 'mayunlu', + 'zhanglu', + 'wutugu', + 'zhugeguo', + 'daxiaoqiao', + 'sp_pangde', + 'sp_jiaxu', + 'kanze', + 'heqi', + 'wangyun', + 'sunqian', + 'xujing', + 'baosanniang', + 'cuiyan', + 'sp_daqiao', + 'sp_ganning', + 'sp_xiahoudun', + 'sp_liubei', + 'sp_gongsunzan', + 'ganfuren', + 'yuejin', + 'hetaihou', + 'dingfeng', + 'niujin', + 'ns_lijue', + 'ns_zhangji', ], c:[ - 'old_xusheng', - 'old_caozhen', - 'old_caoxiu', - 'old_madai', - 'zhuzhi', - 'liaohua', + 'xiahoudun', 'zhaoyun', - 'machao', - 're_gongsunzan', - 'caohong', + 'huanggai', + 'luxun', 'lvbu', - 'yujin', + 'guanyu', + 'zhangfei', + 'yl_luzhi', + 'lvqian', + 're_zhangliang', + 'sp_taishici', + 'liuyao', + 'panzhangmazhong', + 'caiyong', + 'caoxiu', + 'caozhang', + 'caojie', + 'hanhaoshihuan', + 'liaohua', + 'sunluban', + 'xin_xushu', + 'madai', + 'lisu', + 're_hejin', + 'hansui', + 'gaolan', + 'furong', + 'yangyi', + 'dengzhi', + 'yj_zhangliao', + 'yj_zhanghe', + 'xin_gongsunzan', + 're_dongzhuo', + 'old_yuanshu', + 're_hanhaoshihuan', + 'mazhong', + 'lingju', + 'panfeng', + 'hanba', + 'ns_fanchou', ], d:[ - 'menghuo', - 'huaxiong', - 'panfeng', - 'guanyu', - 'xuzhu', 'lvmeng', - 'huanggai', - 'xiahoudun', - 'zhangbao', - 'zhangfei', + 'huaxiong', + 'gongsunzan', + 'xuzhu', + 'duji', 'old_huaxiong', + 'chengpu', + 'zhangwen', + 'dingyuan', + 'xin_chengpu', + 'sunshao', + 'tadun', + 'zangba', + 'junk_zhangrang', + 'ol_guohuai', ], rarity:{ legend:[ @@ -944,6 +1211,9 @@ window.noname_character_rank={ 'ns_sunchensunjun', 'ns_yuanxi', 'ns_jiaxu', + 'liubian', + 'simashi', + 'yanghuiyu', 'key_haruko', 'key_akiko', 'key_sunohara', @@ -1205,6 +1475,10 @@ window.noname_character_rank={ 'tw_maliang', 'tw_dingfeng', 'tw_xiahouba', + 'ns_lijue', + 'ns_zhangji', + 'ns_fanchou', + 'xin_zhuran', ], junk:[ 'sunshao', diff --git a/character/refresh.js b/character/refresh.js index 8673f30c0..82fecb0c5 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -4126,8 +4126,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:'xinleiji', trigger:{player:'judgeAfter'}, direct:true, + disableReason:['暴虐','助祭','弘仪'], filter:function(event,player){ - return event.judgestr!='暴虐'&&event.judgestr!='助祭'&&['spade','club'].contains(event.result.suit); + return !lib.skill.xinleiji_misa.disableReason.contains(event.judgestr)&&['spade','club'].contains(event.result.suit); }, content:function(){ 'step 0' @@ -7957,7 +7958,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olzhiba2:'制霸', xinleiji:'雷击', xinguidao:'鬼道', - xinleiji_info:'①当你使用或打出【闪】或【闪电】时,你可以进行判定。
②当你不因〖暴虐〗或〖助祭〗而进行的判定的判定牌生效后,若结果为:黑桃,你可对一名其他角色造成2点雷电伤害;梅花:你回复1点体力并可对一名其他其他角色造成1点雷电伤害。', + xinleiji_info:'①当你使用或打出【闪】或【闪电】时,你可以进行判定。
②当你不因〖暴虐〗或〖助祭〗或〖弘仪〗而进行的判定的判定牌生效后,若结果为:黑桃,你可对一名其他角色造成2点雷电伤害;梅花:你回复1点体力并可对一名其他其他角色造成1点雷电伤害。', xinguidao_info:'一名角色的判定牌生效前,你可以打出一张黑色牌作为判定牌并获得原判定牌。若你以此法打出的牌为黑桃2-9,则你摸一张牌。', reqiangxi:"强袭", "reqiangxi_info":"出牌阶段对每名其他角色限一次,你可以选择一项:1. 失去一点体力并对你攻击范围内的一名其他角色造成一点伤害;2. 弃置一张武器牌并对你攻击范围内的一名其他角色造成一点伤害。", diff --git a/character/shenhua.js b/character/shenhua.js index 17b884cfd..d26c1aa16 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -563,8 +563,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ event.finish(); }else{ var prompt; - if(event.num==3) prompt="罪论:请按顺将卡牌置于牌堆顶(先选择的在上)"; - else prompt="罪论:请按顺将"+get.cnNumber(event.num)+"张卡牌置于牌堆顶(先选择的在上),然后获得其余的牌。"; + if(event.num==3) prompt="罪论:请按顺序将卡牌置于牌堆顶(先选择的在上)"; + else prompt="罪论:请按顺序将"+get.cnNumber(event.num)+"张卡牌置于牌堆顶(先选择的在上),然后获得其余的牌。"; player.chooseCardButton(event.num,true,event.cards,prompt).set('ai',function(button){ var player=_status.event.player; var next=player.getNext(); diff --git a/character/sp.js b/character/sp.js index 797b4e431..7acc1fe41 100755 --- a/character/sp.js +++ b/character/sp.js @@ -580,7 +580,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var info=get.info(skill); return info&&!info.juexingji&&!info.zhuSkill&&!info.charlotte&&!info.limited; }); - if(!list.length) event._result={control:list[0]}; + if(list.length==1) event._result={control:list[0]}; else trigger.player.chooseControl(list).set('prompt','选择令'+get.translation(player)+'获得一个技能').set('forceDie',true).set('ai',function(){ return list.randomGet(); }); @@ -613,7 +613,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var info=get.info(skill); return info&&!info.juexingji&&!info.zhuSkill&&!info.charlotte&&!info.limited; }); - if(!list.length) event._result={control:list[0]}; + if(list.length==1) event._result={control:list[0]}; else trigger.player.chooseControl(list).set('prompt','选择令'+get.translation(player)+'获得一个技能').set('forceDie',true).set('ai',function(){ return list.randomGet(); }); @@ -12404,7 +12404,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ enable:'phaseUse', filter:function(event,player){ return player.hasSkill('duwu2')==false&&game.hasPlayer(function(current){ - return current.hp<=player.countCards('he')&&player.inRange(current); + return current.hp>0&¤t.hp<=player.countCards('he')&&player.inRange(current); }); }, filterCard:function(){ @@ -12416,12 +12416,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ complexSelect:true, complexCard:true, filterTarget:function(card,player,target){ - return target!=player&&player.inRange(target)&&ui.selected.cards.length==target.hp; + return target!=player&&target.hp>0&&player.inRange(target)&&ui.selected.cards.length==target.hp; }, check:function(card){ var player=_status.event.player; if(game.hasPlayer(function(current){ - return current!=player&&player.inRange(current)&&ui.selected.cards.length==current.hp&&get.damageEffect(current,player,player)>0; + return current!=player&¤t.hp>0&&player.inRange(current)&&ui.selected.cards.length==current.hp&&get.damageEffect(current,player,player)>0; })) return 0; switch(ui.selected.cards.length){ case 0:return 8-get.value(card); diff --git a/character/sp2.js b/character/sp2.js index 46c3f8e71..478faeaa4 100644 --- a/character/sp2.js +++ b/character/sp2.js @@ -4,7 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ name:'sp2', connect:true, character:{ - liubian:['male','qun',3,['shiyuan','dushi'],['unseen']], + liubian:['male','qun',3,['shiyuan','dushi']], xin_baosanniang:['female','shu',3,['xinfu_wuniang','decadexushen']], re_hejin:['male','qun',4,['spmouzhu']], hansui:['male','qun',4,['spniluan','spweiwu']], @@ -67,7 +67,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sp_baigei:['re_panfeng','xingdaorong','caoxing'], sp_guandu:["sp_zhanghe","xunchen","sp_shenpei","gaolan","lvkuanglvxiang","chunyuqiong","sp_xuyou"], sp_huangjin:['liuhong','zhujun','re_hejin','hansui'], - sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','re_sunluyu','caobuxing','ol_xinxianying','ol_yujin','re_maliang','xin_baosanniang'], + sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','re_sunluyu','caobuxing','ol_xinxianying','ol_yujin','re_maliang','xin_baosanniang','liubian'], } }, skill:{ @@ -792,6 +792,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ juanhui2:{ charlotte:true, mark:true, + mod:{ + cardUsable:function(card){ + if(card.name=='sha'&&_status.event.skill=='juanhui2_backup') return Infinity; + }, + }, intro:{ markcount:function(storage,player){ return player.getStorage('juanhui3').length; @@ -813,7 +818,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ for(var i of vcard){ if(i[2]=='sha'&&i[3]) str+=get.translation(i[3]); str+=get.translation(i[2]); - str+='、' + str+='、'; } str=str.slice(0,str.length-1); } @@ -827,7 +832,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ group:'juanhui3', enable:'phaseUse', filter:function(event,player){ - return player.getStorage('juanhui3').length>0; + return player.getStorage('juanhui3').length>0&&player.countCards('h')>0; }, chooseButton:{ dialog:function(event,player){ @@ -1417,7 +1422,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ check:function(button){ var player=_status.event.player; if(player.countCards('h',button.link[2])) return 0; - if(_status.event.getParent().type!='phase') return 1; + if(_status.event.getParent().type!='phase'&&!_status.event.getParent().lvli6) return 1; return player.getUseValue({name:button.link[2]}); }, backup:function(links,player){ @@ -4696,7 +4701,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player:"phaseZhunbeiBegin", }, direct:true, - content:function (){ + filter:function(event,player){ + return game.hasPlayer(function(current){ + return current!=player&¤t.hp<=player.hp; + }); + }, + content:function(){ "step 0" player.chooseTarget(get.prompt('xinfu_langxi'),'对一名体力值不大于你的其他角色造成0-2点随机伤害',function(card,player,target){ return target.hp<=player.hp&&target!=player; @@ -5805,7 +5815,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "xinfu_tunjun":"屯军", "xinfu_tunjun_info":"限定技,出牌阶段,你可以选择一名角色,令其随机使用牌堆中的X张装备牌。(X为你发动过“掠命”的次数)", "xinfu_tanbei":"贪狈", - "xinfu_tanbei_info":"出牌阶段限一次,你可以令一名其他角色选择一项:
1.令你随机获得其区域内的一张牌,本回合内你不能对其使用牌。
2.令你此回合内对其使用牌没有次数与距离限制。", + "xinfu_tanbei_info":"出牌阶段限一次,你可以令一名其他角色选择一项:1.令你随机获得其区域内的一张牌,本回合内你不能对其使用牌。2.令你此回合内对其使用牌没有次数与距离限制。", "xinfu_sidao":"伺盗", xinfu_sidaox:'伺盗', "xinfu_sidao_info":"出牌阶段限一次,当你对一名其他角色连续使用两张牌后,你可以将一张手牌当做【顺手牵羊】对其使用。", @@ -5997,7 +6007,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hmmanyi_info:'锁定技,【南蛮入侵】对你无效。', mansi_viewas:'蛮嗣', mansi:'蛮嗣', - mansi_info:'出牌阶段限一次,你可以将所有手牌【南蛮入侵】使用;当有角色受到【南蛮入侵】的伤害后,你摸一张牌。', + mansi_info:'出牌阶段限一次,你可以将所有手牌当做【南蛮入侵】使用;当有角色受到【南蛮入侵】的伤害后,你摸一张牌。', souying:'薮影', souying_info:'每回合限一次,当你对其他角色(或其他角色对你)使用【杀】或普通锦囊牌指定唯一目标后,若此牌不是本回合你对其(或其对你)使用的第一张【杀】或普通锦囊牌,你可以弃置一张牌,获得此牌对应的所有实体牌(或令此牌对你无效)。', zhanyuan:'战缘', @@ -6086,7 +6096,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ decadezhennan_info:"当你成为锦囊牌的目标后,若此牌的目标数大于1,则你可以对一名其他角色造成1点伤害。", liubian:'刘辩', shiyuan:'诗怨', - shiyuan_info:'每回合每项限一次, 当你成为其他角色使用牌的目标后: 1.若其体力值比你多,你摸三张牌; 2.若其体力值与你相同,你摸两张牌; 3.若其体力值比你少,你摸一张牌。', + shiyuan_info:'每回合每项限一次,当你成为其他角色使用牌的目标后:①若其体力值大于你,你摸三张牌。②若其体力值等于你,你摸两张牌。③若其体力值小于你,你摸一张牌。', dushi:'毒逝', dushi_info:'锁定技,你处于濒死状态时,其他角色不能对你使用【桃】。你死亡时,你选择一名其他角色获得〖毒逝〗。', diff --git a/character/yijiang.js b/character/yijiang.js index 10810488c..347bc85a7 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -2267,7 +2267,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger.player.line(player); game.delay(); } - } + }, + ai:{ + threaten:1.1, + expose:0.25, + }, }, qingxian:{ audio:2, @@ -7062,6 +7066,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } }, + qinwang_ai:{}, zuoding:{ trigger:{global:'useCardToPlayered'}, filter:function(event,player){ diff --git a/game/asset.js b/game/asset.js index a08654ed4..1869d8df6 100644 --- a/game/asset.js +++ b/game/asset.js @@ -1,5 +1,5 @@ window.noname_asset_list=[ - 'v1.9.106.1', + 'v1.9.106.2', 'audio/background/aozhan_chaoming.mp3', 'audio/background/aozhan_online.mp3', 'audio/background/aozhan_rewrite.mp3', @@ -635,6 +635,10 @@ window.noname_asset_list=[ 'audio/die/re_caoxiu.mp3', 'audio/die/re_sunxiu.mp3', 'audio/die/caoxing.mp3', + 'audio/die/gz_lukang.mp3', + 'audio/die/simashi.mp3', + 'audio/die/xin_zhuran.mp3', + 'audio/die/yanghuiyu.mp3', 'audio/skill/anguo1.mp3', 'audio/skill/anguo2.mp3', @@ -2804,6 +2808,22 @@ window.noname_asset_list=[ 'audio/skill/cxliushi2.mp3', 'audio/skill/zhanwan1.mp3', 'audio/skill/zhanwan2.mp3', + 'audio/skill/baiyi1.mp3', + 'audio/skill/baiyi2.mp3', + 'audio/skill/hongyi1.mp3', + 'audio/skill/hongyi2.mp3', + 'audio/skill/jinglve1.mp3', + 'audio/skill/jinglve2.mp3', + 'audio/skill/keshou1.mp3', + 'audio/skill/keshou2.mp3', + 'audio/skill/mobiledanshou1.mp3', + 'audio/skill/mobiledanshou2.mp3', + 'audio/skill/quanfeng1.mp3', + 'audio/skill/quanfeng2.mp3', + 'audio/skill/shanli1.mp3', + 'audio/skill/shanli2.mp3', + 'audio/skill/zhuwei1.mp3', + 'audio/skill/zhuwei2.mp3', 'font/huangcao.ttf', 'font/shousha.ttf', @@ -2833,6 +2853,7 @@ window.noname_asset_list=[ 'image/background/xiongxin_bg.jpg', 'image/background/zhanyun_bg.jpg', 'image/background/xinsha_bg.jpg', + 'image/background/xiaowu_bg.jpg', 'image/card/minguangkai.png', 'image/card/db_atk1.jpg', @@ -3454,6 +3475,13 @@ window.noname_asset_list=[ 'image/character/ns_caimao.jpg', 'image/character/caoxing.jpg', 'image/character/ns_jiaxu.jpg', + 'image/cahracter/liubian.jpg', + 'image/cahracter/ns_fanchou.jpg', + 'image/cahracter/ns_lijue.jpg', + 'image/cahracter/ns_zhangji.jpg', + 'image/cahracter/simashi.jpg', + 'image/cahracter/xin_zhuran.jpg', + 'image/cahracter/yanghuiyu.jpg', 'image/character/baiwuchang.jpg', 'image/character/baosanniang.jpg', @@ -4415,6 +4443,20 @@ window.noname_asset_list=[ 'image/emotion/xiaotao_emotion/18.gif', 'image/emotion/xiaotao_emotion/19.gif', 'image/emotion/xiaotao_emotion/20.gif', + 'image/emotion/xiaowu_emotion/1.gif', + 'image/emotion/xiaowu_emotion/2.gif', + 'image/emotion/xiaowu_emotion/3.gif', + 'image/emotion/xiaowu_emotion/4.gif', + 'image/emotion/xiaowu_emotion/5.gif', + 'image/emotion/xiaowu_emotion/6.gif', + 'image/emotion/xiaowu_emotion/7.gif', + 'image/emotion/xiaowu_emotion/8.gif', + 'image/emotion/xiaowu_emotion/9.gif', + 'image/emotion/xiaowu_emotion/10.gif', + 'image/emotion/xiaowu_emotion/11.gif', + 'image/emotion/xiaowu_emotion/12.gif', + 'image/emotion/xiaowu_emotion/13.gif', + 'image/emotion/xiaowu_emotion/14.gif', 'image/mode/boss/card/chixueqingfeng.png', 'image/mode/boss/card/chiyanzhenhunqin.png', @@ -5308,4 +5350,7 @@ window.noname_skin_list={ key_rin:3, key_miki:1, key_shiroha:6, + key_kyoko:1, + key_kotori:1, + key_shiina:1, }; \ No newline at end of file diff --git a/game/game.js b/game/game.js index 698a06542..d77aa0c56 100644 --- a/game/game.js +++ b/game/game.js @@ -55,6 +55,7 @@ ondb2:[], chatHistory:[], emotionList:{ + xiaowu_emotion:14, shibing_emotion:15, guojia_emotion:20, zhenji_emotion:20, @@ -5848,9 +5849,9 @@ init:true, onclick:function(bool){ if(confirm('调整该设置将清除所有进度,是否继续?')){ - for(var i=1;i<6;i++) game.save('save'+i,null); - game.saveConfig('chess_leader_allcharacter',bool,this._link.config.mode) - game.reload(); + for(var i=1;i<6;i++) game.save('save'+i,null,'chess'); + game.saveConfig('chess_leader_allcharacter',bool,'chess') + if(get.mode()=='chess') game.reload(); return; } else this.classList.toggle('on'); @@ -5861,7 +5862,7 @@ onclick:function(){ var node=this; if(node._clearing){ - for(var i=1;i<6;i++) game.save('save'+i,null); + for(var i=1;i<6;i++) game.save('save'+i,null,'chess'); game.reload(); return; } @@ -9879,6 +9880,7 @@ baiban:'白板', _disableJudge:"判定区", + xiaowu_emotion:'小无表情', guojia_emotion:'郭嘉表情', zhenji_emotion:'甄姬表情', shibing_emotion:'士兵表情', @@ -15108,6 +15110,7 @@ "step 0" game.log(player,'减少了'+get.cnNumber(num)+'点体力上限'); player.maxHp-=num; + event.loseHp=Math.max(0,player.hp-player.maxHp); player.update(); "step 1" if(player.maxHp<=0){ @@ -40962,7 +40965,7 @@ nodename2.setBackground(video.name2,'character'); } var date=new Date(video.time); - var str=date.getFullYear()+'.'+(date.getMonth()+2)+'.'+(date.getDay()+1)+' '+ + var str=date.getFullYear()+'.'+(date.getMonth()+1)+'.'+(date.getDate())+' '+ date.getHours()+':'; var minutes=date.getMinutes(); if(minutes<10){ @@ -48013,9 +48016,10 @@ cardid:card.cardid, wunature:card.wunature, storage:card.storage, + cards:card.cards, }; if(get.itemtype(cards)=='cards'&&!card.cards) next.cards=cards.slice(0); - else next.cards=[card]; + else if(get.itemtype(card)=='card') next.cards=[card]; return next; } else if(get.is.object(card)&&get.itemtype(cards)=='cards'&&!card.cards){ diff --git a/game/package.js b/game/package.js index f74d9a79f..34e109b85 100644 --- a/game/package.js +++ b/game/package.js @@ -83,11 +83,14 @@ window.noname_package={ }, }, background:{ - planetarian_bg:'星梦', ol_bg:'龙纹', + planetarian_bg:'星梦', heaven_bg:'红烧', kyoani_bg:'京都', key_bg:'键社', + xiaowu_bg:'小无', + noname_bg:'璀璨', + wuming_bg:'无名', zhulin_bg:'竹林', shengshi_bg:'盛世', taoyuan_bg:'桃园', @@ -103,8 +106,6 @@ window.noname_package={ wangshi_bg:'往事', xiongxin_bg:'雄心', xinsha_bg:'新杀', - noname_bg:'璀璨', - wuming_bg:'无名', }, music:{ music_phliosophy:'Philosophy of ours', diff --git a/game/update.js b/game/update.js index 8446905bf..5e10b2d90 100644 --- a/game/update.js +++ b/game/update.js @@ -1,15 +1,18 @@ window.noname_update={ - version:'1.9.106.1', - update:'1.9.106', + version:'1.9.106.2', + update:'1.9.106.1', changeLog:[ - 'S贾诩', + '小无表情包、背景', + '刘辩', + '司马师,羊徽瑜,手杀朱然', + '线下版李傕、张济、樊稠', 'bug修复', ], files:[ //'card/extra.js', //'card/huanlekapai.js', //'card/sp.js', - 'card/standard.js', + //'card/standard.js', //'card/swd.js', //'card/mtg.js', //'card/gujian.js', @@ -24,15 +27,15 @@ window.noname_update={ //'character/gujian.js', //'character/gwent.js', //'character/hearth.js', - //'character/mobile.js', + 'character/mobile.js', //'character/mtg.js', //'character/old.js', 'character/rank.js', 'character/refresh.js', - //'character/shenhua.js', + 'character/shenhua.js', 'character/sp.js', 'character/sp2.js', - 'character/tw.js', + //'character/tw.js', //'character/standard.js', //'character/swd.js', //'character/xianjian.js', @@ -44,7 +47,7 @@ window.noname_update={ //'layout/nova/layout.css', //'mode/identity.js', //'mode/doudizhu.js', - //'mode/guozhan.js', + 'mode/guozhan.js', 'mode/chess.js', //'mode/tafang.js', //'mode/single.js', @@ -57,7 +60,7 @@ window.noname_update={ //'game/server.js', //'game/NoSleep.js', //'game/config.js', - //'game/package.js', + 'game/package.js', //'game/asset.js', //'game/source.js', //'theme/style/hp/xinglass.css', diff --git a/image/background/xiaowu_bg.jpg b/image/background/xiaowu_bg.jpg new file mode 100644 index 000000000..af3d6a7a4 Binary files /dev/null and b/image/background/xiaowu_bg.jpg differ diff --git a/image/character/liubian.jpg b/image/character/liubian.jpg new file mode 100644 index 000000000..a20bca6fd Binary files /dev/null and b/image/character/liubian.jpg differ diff --git a/image/character/ns_fanchou.jpg b/image/character/ns_fanchou.jpg new file mode 100644 index 000000000..8b223ce28 Binary files /dev/null and b/image/character/ns_fanchou.jpg differ diff --git a/image/character/ns_lijue.jpg b/image/character/ns_lijue.jpg new file mode 100644 index 000000000..2f3edf2ab Binary files /dev/null and b/image/character/ns_lijue.jpg differ diff --git a/image/character/ns_zhangji.jpg b/image/character/ns_zhangji.jpg new file mode 100644 index 000000000..56a545651 Binary files /dev/null and b/image/character/ns_zhangji.jpg differ diff --git a/image/character/simashi.jpg b/image/character/simashi.jpg new file mode 100644 index 000000000..e65090c03 Binary files /dev/null and b/image/character/simashi.jpg differ diff --git a/image/character/xin_zhuran.jpg b/image/character/xin_zhuran.jpg new file mode 100644 index 000000000..0c37149d8 Binary files /dev/null and b/image/character/xin_zhuran.jpg differ diff --git a/image/character/yanghuiyu.jpg b/image/character/yanghuiyu.jpg new file mode 100644 index 000000000..e6072cf58 Binary files /dev/null and b/image/character/yanghuiyu.jpg differ diff --git a/image/emotion/xiaowu_emotion/1.gif b/image/emotion/xiaowu_emotion/1.gif new file mode 100644 index 000000000..539b8527a Binary files /dev/null and b/image/emotion/xiaowu_emotion/1.gif differ diff --git a/image/emotion/xiaowu_emotion/10.gif b/image/emotion/xiaowu_emotion/10.gif new file mode 100644 index 000000000..2a7839ac0 Binary files /dev/null and b/image/emotion/xiaowu_emotion/10.gif differ diff --git a/image/emotion/xiaowu_emotion/11.gif b/image/emotion/xiaowu_emotion/11.gif new file mode 100644 index 000000000..4c905ccec Binary files /dev/null and b/image/emotion/xiaowu_emotion/11.gif differ diff --git a/image/emotion/xiaowu_emotion/12.gif b/image/emotion/xiaowu_emotion/12.gif new file mode 100644 index 000000000..dec155f33 Binary files /dev/null and b/image/emotion/xiaowu_emotion/12.gif differ diff --git a/image/emotion/xiaowu_emotion/13.gif b/image/emotion/xiaowu_emotion/13.gif new file mode 100644 index 000000000..57fda34a5 Binary files /dev/null and b/image/emotion/xiaowu_emotion/13.gif differ diff --git a/image/emotion/xiaowu_emotion/14.gif b/image/emotion/xiaowu_emotion/14.gif new file mode 100644 index 000000000..29b5926f2 Binary files /dev/null and b/image/emotion/xiaowu_emotion/14.gif differ diff --git a/image/emotion/xiaowu_emotion/2.gif b/image/emotion/xiaowu_emotion/2.gif new file mode 100644 index 000000000..f62c5cea1 Binary files /dev/null and b/image/emotion/xiaowu_emotion/2.gif differ diff --git a/image/emotion/xiaowu_emotion/3.gif b/image/emotion/xiaowu_emotion/3.gif new file mode 100644 index 000000000..b3f5d727a Binary files /dev/null and b/image/emotion/xiaowu_emotion/3.gif differ diff --git a/image/emotion/xiaowu_emotion/4.gif b/image/emotion/xiaowu_emotion/4.gif new file mode 100644 index 000000000..bc5ff01dd Binary files /dev/null and b/image/emotion/xiaowu_emotion/4.gif differ diff --git a/image/emotion/xiaowu_emotion/5.gif b/image/emotion/xiaowu_emotion/5.gif new file mode 100644 index 000000000..276710aa0 Binary files /dev/null and b/image/emotion/xiaowu_emotion/5.gif differ diff --git a/image/emotion/xiaowu_emotion/6.gif b/image/emotion/xiaowu_emotion/6.gif new file mode 100644 index 000000000..f240c1497 Binary files /dev/null and b/image/emotion/xiaowu_emotion/6.gif differ diff --git a/image/emotion/xiaowu_emotion/7.gif b/image/emotion/xiaowu_emotion/7.gif new file mode 100644 index 000000000..c78b6101d Binary files /dev/null and b/image/emotion/xiaowu_emotion/7.gif differ diff --git a/image/emotion/xiaowu_emotion/8.gif b/image/emotion/xiaowu_emotion/8.gif new file mode 100644 index 000000000..3c6e75fc6 Binary files /dev/null and b/image/emotion/xiaowu_emotion/8.gif differ diff --git a/image/emotion/xiaowu_emotion/9.gif b/image/emotion/xiaowu_emotion/9.gif new file mode 100644 index 000000000..8b8ec8cc1 Binary files /dev/null and b/image/emotion/xiaowu_emotion/9.gif differ diff --git a/image/skin/key_kotori/1.jpg b/image/skin/key_kotori/1.jpg new file mode 100644 index 000000000..65317e308 Binary files /dev/null and b/image/skin/key_kotori/1.jpg differ diff --git a/image/skin/key_kyoko/1.jpg b/image/skin/key_kyoko/1.jpg new file mode 100644 index 000000000..7b771ab9f Binary files /dev/null and b/image/skin/key_kyoko/1.jpg differ diff --git a/image/skin/key_shiina/1.jpg b/image/skin/key_shiina/1.jpg new file mode 100644 index 000000000..84ae4611b Binary files /dev/null and b/image/skin/key_shiina/1.jpg differ diff --git a/mode/chess.js b/mode/chess.js index b1eb39592..c34a67bd7 100644 --- a/mode/chess.js +++ b/mode/chess.js @@ -2172,12 +2172,21 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } } } - var length=Math.ceil(list.length/9); for(var i in lib.rank){ if(Array.isArray(lib.rank[i])){ - lib.rank[i]=list.splice(0,length); + for(var j=0;j0; }, + direct:true, content:function(){ 'step 0' var check=(player.countCards('h',{color:'red'})>1||player.countCards('h',{color:'black'})>1); - player.chooseCard(get.prompt2('keshou'),'he',2,function(card){ + player.chooseCard(get.prompt('keshou'),'弃置两张颜色相同的牌,令即将受到的伤害-1','he',2,function(card){ if(ui.selected.cards.length) return get.color(card)==get.color(ui.selected.cards[0]); return true; }).set('complexCard',true).set('ai',function(card){ @@ -964,14 +966,18 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ return 6-get.value(card); }).set('check',check); 'step 1' + var logged=false; if(result.cards){ + logged=true; player.logSkill('keshou'); player.discard(result.cards); trigger.num--; - if(trigger.num<=0) trigger.cancel(); - if(!game.hasPlayer(function(current){ - return current!=player&¤t.isFriendOf(player); - })) player.judge(function(card){ + } + if(!player.isUnseen()&&!game.hasPlayer(function(current){ + return current!=player&¤t.isFriendOf(player); + })){ + if(!logged) player.logSkill('keshou'); + player.judge(function(card){ if(get.color(card)=='red') return 1; return 0; }); @@ -982,16 +988,19 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } }, zhuwei:{ + audio:2, trigger:{player:'judgeEnd'}, filter:function(event){ if(get.owner(event.result.card)) return false; if(event.nogain&&event.nogain(event.result.card)) return false; - return event.result.card.name=='sha'||event.result.card.name=='juedou'; + return true; + //return event.result.card.name=='sha'||event.result.card.name=='juedou'; }, + frequent:true, content:function(){ 'step 0' player.gain(trigger.result.card,'gain2'); - player.chooseBool('是否令当前回合角色获得【筑围】的加成效果?').ai=function(){ + player.chooseBool('是否令'+get.translation(_status.currentPhase)+'本回合的手牌上限和使用【杀】的次数上限+1?').ai=function(){ return get.attitude(player,_status.currentPhase)>0; }; 'step 1' @@ -5124,7 +5133,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(player.hasSkill('huangjintianbingfu')){ num+=player.storage.huangjintianbingfu.length; } - player.chooseCardButton(num,true,get.cards(num),'按顺将卡牌置于牌堆顶(先选择的在上)').set('ai',function(button){ + player.chooseCardButton(num,true,get.cards(num),'按顺序将卡牌置于牌堆顶(先选择的在上)').set('ai',function(button){ return get.value(button.link); }); 'step 1' @@ -7359,9 +7368,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ gzbuyi_info:'每回合限一次,当一名与你势力相同的角色脱离濒死状态后,你可以选择一个“军令”,令伤害来源选择一项:执行该军令,或令该脱离濒死状态的角色回复一点体力。', gz_lukang:'陆抗', keshou:'恪守', - keshou_info:'当你受到伤害时,你可以弃置两张颜色相同的牌。若如此做,此伤害-1。然后若场上没有与你势力相同的其他角色,则你进行判定,若结果为红色,你摸一张牌。', + keshou_info:'当你受到伤害时,你发动此技能。你可弃置两张颜色相同的牌,若如此做,此伤害-1。你的势力已确定且场上没有与你势力相同的其他角色,则你进行判定,若结果为红色,你摸一张牌。', zhuwei:'筑围', - zhuwei_info:'当你的判定牌生效后,若此牌为【杀】或【决斗】,你可以获得之。然后,你可令当前回合角色本回合内使用【杀】的次数上限和手牌上限+1。', + zhuwei_info:'当你的判定牌生效后,你可以获得之。然后,你可令当前回合角色本回合内使用【杀】的次数上限和手牌上限+1。', gz_yuanshu:'袁术', gzweidi:'伪帝', gzweidi_info:'出牌阶段限一次,你可以指定一名本回合从牌堆获得过牌的其他角色并选择一个“军令”,令其选择一项:执行该军令;或令你获得其所有手牌,然后交给其等量的牌。',