きえええええええええ——!

This commit is contained in:
Spmario233 2020-07-11 09:45:52 +08:00 committed by GitHub
parent c6f6aadfb4
commit ef9e08ba2c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 646 additions and 193 deletions

BIN
audio/die/re_taishici.mp3 Normal file

Binary file not shown.

BIN
audio/skill/hanzhan1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/hanzhan2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/pingjian1.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/zhongyi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhongyi2.mp3 Normal file

Binary file not shown.

View File

@ -1216,8 +1216,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
event.directfalse=true;
}
else{
target.chooseToUse('对'+get.translation(event.addedTarget)+'使用一张杀,或令'+get.translation(player)+'获得你的武器牌',
{name:'sha'}).set('targetRequired',true).set('complexSelect',true).set('filterTarget',function(card,player,target){
target.chooseToUse('对'+get.translation(event.addedTarget)+'使用一张杀,或令'+get.translation(player)+'获得你的武器牌',function(card,player){
if(get.name(card)!='sha') return false;
return lib.filter.filterCard.apply(this,arguments);
}).set('targetRequired',true).set('complexSelect',true).set('filterTarget',function(card,player,target){
if(target!=_status.event.sourcex&&!ui.selected.targets.contains(_status.event.sourcex)) return false;
return lib.filter.filterTarget.apply(this,arguments);
}).set('sourcex',event.addedTarget).set('addCount',false).set('respondTo',[player,card]);

View File

@ -466,7 +466,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var trans=get.translation(target);
var list;
if(event.type){
if(!target.countCards('h')) event._result={index:0};
if(!target.countCards('he')) event._result={index:0};
else list=['令'+trans+'摸两张牌','令'+trans+'弃置两张牌'];
}
else{
@ -503,9 +503,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
'step 0'
player.chooseButton([get.prompt('kyoko_juwu'),trigger.cards.filter(function(card){
var cards=trigger.cards.filter(function(card){
return get.position(card,true)=='d'&&get.type(card,false)=='equip';
})],[1,Infinity]).set('ai',function(){return 1});
});
player.chooseButton([get.prompt('kyoko_juwu'),cards],[1,cards.length]).set('ai',function(){return 1});
'step 1'
if(result.bool){
player.gain(result.links,'gain2','log');
@ -813,7 +814,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var trans=get.translation(target);
var list;
if(event.type){
if(!target.countCards('h')) event._result={index:0};
if(!target.countCards('he')) event._result={index:0};
else list=['令'+trans+'摸两张牌','令'+trans+'弃置两张牌'];
}
else{
@ -1555,6 +1556,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
if(tempcard) trigger.directresult=tempcard;
},
ai:{luckyStar:true},
},
riki_spwenji:{
audio:2,
@ -2543,7 +2545,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
enable:'phaseUse',
filter:function(event,player){
return player.countCards('he')>0&&!player.hasSkill('haruka_kanata');
return !player.hasSkill('haruka_kanata');
},
chooseButton:{
dialog:function(event,player){
@ -3822,14 +3824,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.bool){
player.logSkill('yuri_wangxi',trigger.player);
player.awakenSkill('yuri_wangxi');
game.broadcastAll(function(source){
var identity='zhong';
if(_status.mode=='purple'){
if(['rNei','bNei'].contains(player.identity)) identity=player.identity;
else if(['rZhu','rZhong','bNei'].contains(player.identity)) identity='rZhong';
else identity='bZhong';
}
game.broadcastAll(function(source,identity){
if(source.node.dieidentity){
source.node.dieidentity.innerHTML='忠臣';
source.node.dieidentity.innerHTML=get.translation(identity+2);
}
source.revive(2,false);
source.identity='zhong';
source.identity=identity;
source.setIdentity();
},trigger.player);
},trigger.player,identity);
trigger.player.changeGroup(player.group);
trigger.player.draw();
var evt=trigger.getParent('damage');

View File

@ -427,8 +427,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(card){
cards.push(card);
names.push(card.name);
if(cards.length==3&&Math.random()<0.33) break;
if(cards.length==4&&Math.random()<0.5) break;
if(cards.length==3&&!get.isLuckyStar(player)&&Math.random()<0.33) break;
if(cards.length==4&&!get.isLuckyStar(player)&&Math.random()<0.5) break;
if(cards.length==5) break;
if(cards.length>=6) break;
}
@ -1719,7 +1719,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var num=1-trigger.player.hp;
if(num) trigger.player.recover(num);
'step 2'
if(_status.currentPhase&&_status.currentPhase.isAlive()) _status.currentPhase.damage();
if(_status.currentPhase&&_status.currentPhase.isAlive()){
var next=_status.currentPhase.damage();
event.next.remove(next);
trigger.after.push(next);
}
},
},
zhiyi:{
@ -3905,7 +3909,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
usable:1,
content:function (){
'step 0'
if(get.isLuckyStar()){
if(get.isLuckyStar(player)){
event.num=6;
player.throwDice(6);
}

View File

@ -4,7 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'old',
characterSort:{
old:{
old_shenhua:["yuji","zhangjiao","old_zhugezhan","old_guanqiujian","xiahouyuan","weiyan","xiaoqiao"],
old_shenhua:["yuji","zhangjiao","old_zhugezhan","old_guanqiujian","xiahouyuan","weiyan","xiaoqiao","pangde"],
old_refresh:["old_zhangfei","old_huatuo","old_zhaoyun","ol_huaxiong"],
old_yijiang1:["masu","xushu","fazheng","yujin","xin_yujin","old_xusheng","old_lingtong","ol_yujin"],
old_yijiang2:["old_madai","old_zhonghui","old_wangyi","old_guanzhang"],
@ -17,6 +17,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
pangde:['male','qun',4,['mashu','mengjin']],
ol_huaxiong:["male","qun",6,["new_reyaowu"]],
old_wangyun:['male','qun',4,['wylianji','moucheng']],
panfeng:['male','qun',4,['kuangfu']],
@ -64,7 +65,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhangliang:["male","qun",4,["old_jijun","old_fangtong"]],
old_guanzhang:['male','shu',4,['old_fuhun']],
ol_xinxianying:['female','wei',3,['caishi','zhongjian']],
ol_zhangrang:['male','qun',3,['taoluan']],
ol_zhangrang:['male','qun',3,['xintaoluan']],
ol_yujin:['male','wei',4,['rezhenjun']],
ol_guansuo:['male','shu',4,['zhengnan','xiefang']],
ol_manchong:['male','wei',3,['yuce','junxing']],
@ -868,7 +869,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_huatuo:'OL华佗',
jsp_caoren:'☆SP曹仁',
ol_xinxianying:'OL辛宪英',
ol_zhangrang:'OL张让',
ol_zhangrang:'张让',
ol_yujin:'镇军于禁',
ol_liaohua:'OL廖化',
ol_zhuran:'OL朱然',

View File

@ -6,15 +6,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
refresh:{
refresh_standard:["re_caocao","re_simayi","re_guojia","re_lidian","re_zhangliao","re_xuzhu","re_xiahoudun","re_zhangfei","re_zhaoyun","re_guanyu","re_machao","re_xushu","re_zhouyu","re_lvmeng","re_ganning","re_luxun","re_daqiao","re_huanggai","re_lvbu","re_gongsunzan","re_huatuo","re_liubei","re_diaochan","re_huangyueying","re_sunquan","re_sunshangxiang","re_zhenji","re_zhugeliang","re_huaxiong"],
refresh_feng:['caoren','ol_xiahouyuan','re_huangzhong','ol_weiyan','ol_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'],
refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","ol_pangtong","ol_yuanshao","re_pangde"],
refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","ol_pangtong","ol_yuanshao","ol_pangde","re_taishici"],
refresh_lin:['re_zhurong','re_menghuo','re_dongzhuo','ol_sunjian','re_caopi','re_xuhuang'],
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce'],
refresh_yijiang:['re_xusheng','re_wuguotai','re_gaoshun','re_zhangyi','re_caozhi','re_zhuran','re_wuyi','re_liaohua','re_guohuai','re_zhuran','re_chengpu','re_caozhang','re_quancong','yujin_yujin','re_lingtong','re_handang','re_zhonghui'],
refresh_yijiang:['re_xusheng','re_wuguotai','re_gaoshun','re_zhangyi','re_caozhi','re_zhuran','re_wuyi','re_liaohua','re_guohuai','re_zhuran','re_chengpu','re_caozhang','re_quancong','yujin_yujin','re_lingtong','re_handang','re_zhonghui','re_sunluban','re_masu'],
},
},
connect:true,
character:{
re_zhonghui:['male','wei',4,['requanji','zili']],
re_taishici:['male','wu',4,['tianyi','hanzhan']],
re_masu:['male','shu',3,['resanyao','rezhiman']],
re_sunluban:['female','wu',3,['rechanhui','rejiaojin']],re_zhonghui:['male','wei',4,['requanji','zili']],
re_handang:['male','wu',4,['regongji','jiefan']],
re_lingtong:['male','wu',4,['rexuanfeng']],
yujin_yujin:['male','wei',4,['rejieyue']],
@ -71,7 +73,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_weiyan:['male','shu',4,['xinkuanggu','reqimou']],
ol_xiaoqiao:['female','wu',3,['retianxiang','rehongyan']],
zhoutai:['male','wu',4,['buqu','fenji']],
re_pangde:['male','qun',4,['mashu','jianchu']],
ol_pangde:['male','qun',4,['mashu','rejianchu']],
re_xuhuang:['male','wei',4,['duanliang','jiezi']],
ol_sp_zhugeliang:["male","shu",3,["bazhen","rehuoji","rekanpo","cangzhuo"],[]],
re_xunyu:["male","wei",3,["quhu","rejieming"],[]],
@ -105,6 +107,90 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sunben:['zhouyu','taishici','daqiao'],
},
skill:{
hanzhan:{
audio:2,
trigger:{
global:'chooseToCompareBegin',
},
filter:function(event,player){
if(player==event.player) return true;
if(event.targets) return event.targets.contains(player);
return player==event.target;
},
logTarget:function(event,player){
if(player!=event.player) return event.player;
return event.targets||event.target;
},
check:function(trigger,player){
var num=0;
var targets=player==trigger.player?(trigger.targets?trigger.targets.slice(0):[trigger.target]):[trigger.player];
while(targets.length){
var target=targets.shift();
if(target.getCards('h').length>1) num-=get.attitude(player,target);
}
return num>0;
},
content:function(){
var targets=player==trigger.player?(trigger.targets?trigger.targets.slice(0):[trigger.target]):[trigger.player];
if(!trigger.fixedResult) trigger.fixedResult={};
while(targets.length){
var target=targets.shift();
var hs=target.getCards('h');
if(hs.length) trigger.fixedResult[target.playerid]=hs.randomGet();
}
},
},
rejianchu:{
shaRelated:true,
audio:2,
audioname:['re_pangde'],
trigger:{player:'useCardToPlayered'},
filter:function(event,player){
return event.card.name=='sha'&&event.target.countDiscardableCards(player,'he')>0;
},
direct:true,
content:function(){
'step 0'
player.discardPlayerCard(trigger.target,get.prompt('rejianchu',trigger.target)).set('ai',function(button){
if(!_status.event.att) return 0;
if(get.position(button.link)=='e'){
if(get.subtype(button.link)=='equip2') return 2*get.value(button.link);
return get.value(button.link);
}
return 1;
}).set('logSkill',['rejianchu',trigger.target]).set('att',get.attitude(player,trigger.target)<=0);
'step 1'
if(result.bool&&result.links&&result.links.length){
if(get.type(result.links[0],null,result.links[0].original=='h'?player:false)!='basic'){
trigger.getParent().directHit.add(trigger.target);
player.addTempSkill('rejianchu2');
player.addMark('rejianchu2',1,false);
}
else if(trigger.cards){
var list=[];
for(var i=0;i<trigger.cards.length;i++){
if(get.position(trigger.cards[i],true)=='o') list.push(trigger.cards[i]);
}
if(list.length) trigger.target.gain(list,'gain2','log');
}
}
},
ai:{
unequip_ai:true,
skillTagFilter:function(player,tag,arg){
if(arg&&arg.name=='sha'&&arg.target.getEquip(2)) return true;
return false;
}
},
},
rejianchu2:{
mod:{
cardUsable:function(card,player,num){
if(card.name=='sha') return num+player.countMark('rejianchu2');
},
},
onremove:true,
},
wulie:{
trigger:{player:'phaseJieshuBegin'},
direct:true,
@ -6875,6 +6961,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wulie:'武烈',
wulie2:'武烈',
wulie_info:'限定技,结束阶段,你可以失去任意点体力并指定等量的角色。这些角色各获得一枚「烈」。有「烈」的角色受到伤害时,其移去一枚「烈」,然后防止此伤害。',
re_sunluban:'界孙鲁班',
re_masu:'界马谡',
ol_pangde:'界庞德',
rejianchu:'鞬出',
rejianchu_info:'当你使用【杀】指定一名角色为目标后,你可以弃置其一张牌,若以此法弃置的牌不为基本牌,此【杀】不可被【闪】响应且你本回合使用【杀】的次数上限+1为基本牌该角色获得此【杀】',
re_taishici:'界太史慈',
hanzhan:'酣战',
hanzhan_info:'当你发起拼点时,或成为拼点的目标时,你可以令对方选择拼点牌的方式改为随机选择一张手牌。',
refresh_standard:'界限突破·标',
refresh_feng:'界限突破·风',

View File

@ -7,7 +7,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
characterSort:{
shenhua:{
shenhua_feng:["sp_zhangjiao","re_yuji","old_zhoutai","old_caoren","re_xiahouyuan","re_xiaoqiao","huangzhong","re_weiyan"],
shenhua_huo:['dianwei','xunyu','pangtong','sp_zhugeliang','taishici','yanwen','re_yuanshao','pangde'],
shenhua_huo:['dianwei','xunyu','pangtong','sp_zhugeliang','taishici','yanwen','re_yuanshao','re_pangde'],
shenhua_lin:['caopi','xuhuang','menghuo','zhurong','re_lusu','sunjian','dongzhuo','jiaxu'],
shenhua_shan:['dengai','zhanghe','liushan','jiangwei','zhangzhang','sunce','caiwenji','zuoci'],
shenhua_yin:['wangji','kuailiangkuaiyue','yanyan','wangping','sunliang','luji','xuyou','yl_luzhi'],
@ -18,7 +18,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_zhoutai:['male','wu',4,['gzbuqu']],
old_caoren:['male','wei',4,['moon_jushou','jiewei']],
xuhuang:['male','wei',4,['gzduanliang']],
pangde:['male','qun',4,['mashu','mengjin']],
re_pangde:['male','qun',4,['mashu','jianchu']],
re_xiahouyuan:['male','wei',4,['xinshensu']],
huangzhong:['male','shu',4,['liegong']],
re_weiyan:['male','shu',4,['xinkuanggu','qimou']],
@ -5384,6 +5384,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinqiangxi3:{},
tianyi:{
audio:2,
audioname:['re_taishici'],
enable:'phaseUse',
usable:1,
filterTarget:function(card,player,target){
@ -7356,7 +7357,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
taishici:'太史慈',
yanwen:'颜良文丑',
yuanshao:'旧袁绍',
re_pangde:'庞德',
re_pangde:'庞德',
huoji:'火计',
bazhen:'八阵',
kanpo:'看破',
@ -7412,7 +7413,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_zhoutai:'周泰',
old_caoren:'曹仁',
xuhuang:'徐晃',
pangde:'庞德',
pangde:'庞德',
xiahouyuan:'旧夏侯渊',
caoren:'界曹仁',
huangzhong:'黄忠',

View File

@ -5,7 +5,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true,
characterSort:{
sp:{
sp_default:["caoying","simahui","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","liuxie","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","fuwan","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","lingju","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","wenyang","xujing","yuantanyuanshang","wangshuang","sunshao","liuzan"],
sp_default:["caoying","simahui","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","liuxie","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","fuwan","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","lingju","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","wenyang","xujing","yuantanyuanshang","wangshuang","sunshao","liuzan","xingdaorong"],
sp_guansuo:['guansuo','baosanniang','huaman'],
sp_whlw:["xurong","lijue","zhangji","fanchou","guosi"],
sp_zlzy:["zhangqiying","lvkai","zhanggong","weiwenzhugezhi","beimihu"],
@ -24,6 +24,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
xingdaorong:['male','qun','4/6',['xuxie']],
liuzan:['male','wu',4,['refenyin','liji']],
re_panfeng:['male','qun',4,['xinkuangfu']],
gaolan:['male','qun',4,['xiying']],
@ -42,7 +43,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yuantanyuanshang:['male','qun',4,['neifa']],
huaman:['female','shu',3,['hmmanyi','mansi','souying','zhanyuan']],
xujing:['male','shu',3,['yuxu','xjshijian']],
xushao:['male','qun',3,['pingjian'],['unseen']],
xushao:['male','qun',3,['pingjian']],
puyuan:['male','shu',4,['pytianjiang','pyzhuren']],
xinpi:['male','wei',3,['xpchijie','yinju']],
lisu:['male','qun',2,['lslixun','lskuizhu']],
@ -187,6 +188,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//kaisa:["male","western",4,["zhengfu"]],
},
characterIntro:{
caobuxing:'曹不兴亦名弗兴三国时著名画家。孙吴吴兴今浙江湖州生卒年不详。他在黄武年间222—229年享有很大的声誉。被称为“佛画之祖”。与东晋顾恺之、南朝宋陆探微、南朝梁张僧繇并称“六朝四大家”。又与赵达的算术、严武的弈棋、皇象的草书等号称“吴中八绝”。曹不兴善画龙、虎、马及人物有“落墨为蝇”等传奇故事其佛画成就对后世影响很大相传其所画龙头令谢赫叹服不已。画迹今已不存据《贞观公私画史》载作品有《青溪龙》、《赤盘龙》、《南海监牧进十种马图》、《夷事夷兽样》、《桃源图》等惜早已散佚。 但之后的著名画家卫协直接师承其法。',
xingdaorong:'邢道荣是《三国演义》中虚构的人物,为零陵太守刘度手下武将,被评价有万夫不当之勇,于《三国演义》第五十二回登场,被赵云刺死。',
gaolan:'高览生卒年不详一名高奂本属袁绍部将后官渡之战淳于琼被曹操击破与张郃一同投降曹操被封为偏将军东莱侯。《三国演义》里曾与许褚、徐晃大战不分胜负。201年刘备败走荆州时高览奉命追杀三合斩刘辟而后被冲阵而来的赵云刺死。',
xunchen:'荀谌,字友若,荀彧之兄(一说荀彧之弟),荀绲之子,颍川人。曾任军阀袁绍的幕僚。帮助袁绍游说韩馥,夺取了冀州。',
sunshao:'孙邵163年225年字长绪青州北海国人今山东潍坊市昌乐县西。原为北海相孔融的功曹被孔融称赞为可任朝廷要职的人才后随刘繇到达江东继而辅佐孙权。孙权称吴王后孙邵成为吴国首任丞相数年后病逝。由于孙邵和当时吴国史官的关系并不是很好因此在史书中并没有详细的记载。',
@ -513,6 +516,61 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
//说出吾名吓汝一跳
xuxie:{
audio:2,
trigger:{player:'phaseUseBegin'},
logTarget:function(event,player){
return game.filterPlayer(function(current){
return get.distance(player,current)<=1;
}).sortBySeat();
},
check:function(){return false},
content:function(){
'step 0'
player.loseMaxHp();
'step 1'
var targets=game.filterPlayer(function(current){
return get.distance(player,current)<=1;
}).sortBySeat();
if(!targets.length) event.finish();
else{
event.targets=targets;
player.chooseControl().set('choiceList',[
'弃置'+get.translation(targets)+'的各一张牌',
'令'+get.translation(targets)+'各摸一张牌',
]);
}
'step 2'
event.index=result.index;
if(result.index==1){
game.asyncDraw(targets);
}
else event.goto(4);
'step 3'
game.delay();
event.finish();
'step 4'
var target=targets.shift();
if(target.countDiscardableCards(player,'he')>0) player.discardPlayerCard(target,'he',true);
if(targets.length) event.redo();
},
group:'xuxie_add',
},
xuxie_add:{
audio:'xuxie',
trigger:{player:'phaseUseEnd'},
forced:true,
locked:false,
filter:function(event,player){
return !game.hasPlayer(function(current){
return current.maxHp<player.maxHp;
});
},
content:function(){
player.gainMaxHp();
},
},
//新王允
xinlianji:{
enable:'phaseUse',
@ -1545,7 +1603,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return event.type=='discard'&&event.getParent(3).name=='phaseDiscard'&&event.cards.filterInD('d').length>0;
},
content:function(){
if(!player.storage.hantong) player.storage.sphantong=[];
if(!player.storage.sphantong) player.storage.sphantong=[];
var cards=trigger.cards.filterInD('d');
player.storage.sphantong.addArray(cards);
player.$gain2(cards);
@ -2139,15 +2197,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
pingjian:{
mode:['identity','single','guozhan'],
audio:2,
audio:1,
trigger:{
player:['damageEnd','phaseJieshuBegin'],
},
direct:true,
filter:function(event,player){
return player.countCards('he')>0;
},
initList:function(){
var list=[];
if(_status.connectMode) var list=get.charactersOL();
@ -2166,12 +2219,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
_status.characterlist=list;
},
frequent:true,
content:function(){
'step 0'
if(!player.storage.pingjian) player.storage.pingjian=[];
player.chooseToDiscard('he',get.prompt2('pingjian')).set('logSkill','pingjian').ai=function(card){
return 5-get.value(card);
};
event._result={bool:true};
'step 1'
if(result.bool){
if(!_status.characterlist){
@ -2198,7 +2250,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
game.expandSkills(list2);
for(var k=0;k<list2.length;k++){
var info=lib.skill[list2[k]];
if(!info||!info.trigger||!info.trigger.player) continue;
if(!info||!info.trigger||!info.trigger.player||info.silent) continue;
if(info.trigger.player==name2||Array.isArray(info.trigger.player)&&info.trigger.player.contains(name2)){
list.add(name);
if(!map[name]) map[name]=[];
@ -2210,11 +2262,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
if(list.length>2) break;
}
if(!skills.length) event.finish();
else player.chooseControl(skills).set('dialog',['请选择要发动的技能',[list,'character']])
if(!skills.length){
player.draw();
event.finish();
}
else{
skills.unshift('摸一张牌');
player.chooseControl(skills).set('dialog',['请选择要发动的技能,或摸一张牌',[list,'character']]).set('ai',function(){return 0});
}
}
else event.finish();
'step 2'
if(result.control=='摸一张牌'){
player.draw();
return;
}
player.storage.pingjian.add(result.control);
player.addTempSkill(result.control,event.triggername=='damageEnd'?'damageAfter':'phaseJieshu');
},
@ -2224,11 +2286,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:'pingjian',
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.countCards('he')>0;
},
check:function(card){return 5-get.value(card)},
filterCard:true,
position:'he',
content:function(){
'step 0'
@ -2271,14 +2328,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
if(list.length>2) break;
}
if(!skills.length) event.finish();
else player.chooseControl(skills).set('dialog',['请选择要发动的技能',[list,'character']])
if(!skills.length){
player.draw();
event.finish();
}
else{
skills.unshift('摸一张牌');
player.chooseControl(skills).set('dialog',['请选择要发动的技能,或摸一张牌',[list,'character']]).set('ai',function(){return 0});
}
}
else event.finish();
'step 2'
if(result.control=='摸一张牌'){
player.draw();
return;
}
player.addTempSkill(result.control,'chooseToUseEnd');
event.getParent(2).goto(0);
},
ai:{order:1,result:{player:1}},
},
//蒲元
pytianjiang:{
@ -2365,7 +2433,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){
if(!_status.pyzhuren) _status.pyzhuren={};
var rand=get.number(cards[0])/13;
if(get.isLuckyStar()) rand=1;
if(get.isLuckyStar(player)) rand=1;
var name='pyzhuren_'+(cards[0][cards[0].name=='shandian'?'name':'suit']);
if(!lib.card[name]||_status.pyzhuren[name]||Math.random()>rand){
player.popup('杯具');
@ -3325,7 +3393,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.popup(trigger.card.name,trigger.name=='useCard'?'metal':'wood');
'step 1'
var random=0.5+player.countCards('e')*0.1;
if(get.isLuckyStar()||event.card.name=='wuxie') random=1;
if(get.isLuckyStar(player)||event.card.name=='wuxie') random=1;
if(random>=Math.random()){
player.popup('洗具');
}
@ -11645,7 +11713,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
rebiluan:{
audio:'biluan',
trigger:{player:'phaseUseBegin'},
trigger:{player:'phaseJieshuBegin'},
mark:true,
//unique:true,
intro:{
@ -11664,10 +11732,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
init:function(player){
if(typeof player.storage.rebiluan!='number') player.storage.rebiluan=0;
},
check:function(event,player){
if(!player.countCards('h',function(card){
return get.name(card,player)=='sha'&&player.hasValueTarget(card);
})) return true;
checkx:function(player){
var ng=[];
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
@ -11689,11 +11754,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return nai>=2;
},
filter:function(event,player){
return game.hasPlayer(function(current){
return player.countCards('he')&&game.hasPlayer(function(current){
return current!=player&&get.distance(current,player)<=1;
});
},
direct:true,
content:function(){
"step 0"
player.chooseToDiscard('he',get.prompt2('rebiluan')).set('logSkill','rebiluan').set('check',lib.skill.rebiluan.checkx(player)).set('ai',function(card){
if(_status.event.check) return 6-get.value(card);
return 0;
});
"step 1"
if(result.bool){
var ng=[];
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
@ -11705,7 +11778,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.storage.rebiluan+=ng.length;
player.markSkill('rebiluan');
game.addVideo('storage',player,['rebiluan',player.storage.rebiluan]);
player.addTempSkill('rebiluan2',{player:'phaseUseEnd'});
}
},
mod:{
globalTo:function(from,to,distance){
@ -11715,13 +11788,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
rebiluan2:{
mod:{
cardEnabled:function(card){
if(card.name=='sha') return false;
},
},
},
relixia:{
audio:'lixia',
trigger:{global:'phaseJieshuBegin'},
@ -11914,6 +11980,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
forced:true,
filter:function(event,player){
if(player.countCards('he')==0) return false;
if(event.card.name=='sha') return true;
var type=get.type(event.card,'trick');
return type=='trick';
},
@ -15237,7 +15304,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.bool&&result.targets&&result.targets.length){
player.logSkill('xinfu_langxi',result.targets);
var num=[1,2,0].randomGet();
if(get.isLuckyStar()) num=2;
if(get.isLuckyStar(player)) num=2;
player.line(result.targets[0],'green');
result.targets[0].damage(num);
}
@ -17279,7 +17346,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
game.delay();
player.logSkill('xinfu_zhennan',result.targets);
var num=[1,2,3,1,1,2].randomGet();
if(get.isLuckyStar()) num=3;
if(get.isLuckyStar(player)) num=3;
player.line(result.targets[0],'fire');
result.targets[0].damage(num);
}
@ -17742,9 +17809,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xjshijian:'实荐',
xjshijian_info:'一名其他角色于其回合内使用的第二张牌结算完成后,你可弃置一张牌并令其获得技能〖誉虚〗直到回合结束。',
pingjian:'评荐',
pingjian_info:'结束阶段开始时/当你受到伤害后/出牌阶段限一次,你可以弃置一张牌。若如此做,系统随机从剩余武将牌堆中检索出三张拥有发动时机为结束阶段开始时/当你受到伤害后/出牌阶段限一次的技能的武将牌。然后你可以发动这些技能中的一个。每个技能每局只能选择一次。',
pingjian_info:'结束阶段开始时/当你受到伤害后/出牌阶段限一次,你可以系统随机从剩余武将牌堆中检索出三张拥有发动时机为结束阶段开始时/当你受到伤害后/出牌阶段的技能的武将牌。然后你可以选择尝试发动其中一个技能或摸一张牌。每个技能每局只能选择一次。',
pingjian_use:'评荐',
pingjian_use_info:'结束阶段开始时/当你受到伤害后/出牌阶段限一次,你可以弃置一张牌。若如此做,系统随机从剩余武将牌堆中检索出三张拥有发动时机为结束阶段开始时/当你受到伤害后/出牌阶段限一次的技能的武将牌。然后你可以发动这些技能中的一个。每个技能每局只能选择一次。',
pytianjiang:'天匠',
pytianjiang_info:'游戏开始时,你随机获得两张不同副类别的装备牌,并置入你的装备区。出牌阶段,你可以将装备区内的牌移动到其他角色的装备区(可替换原装备)。',
pytianjiang_move:'天匠',
@ -18307,7 +18373,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
canshi_info:'摸牌阶段开始时你可以改为摸X张牌X为已受伤的角色数若如此做当你于此回合内使用基本牌或锦囊牌时你弃置一张牌。',
recanshi:'残蚀',
recanshi2:'残蚀',
recanshi_info:'摸牌阶段开始时你可以多摸X张牌X为已受伤的角色数若如此做当你于此回合内使用锦囊牌时,你弃置一张牌。',
recanshi_info:'摸牌阶段开始时你可以多摸X张牌X为已受伤的角色数若如此做当你于此回合内使用【杀】或锦囊牌时,你弃置一张牌。',
zhuiji_info:'锁定技你与体力值不大于你的角色的距离视为1。',
kunfen:'困奋',
kunfen_info:'锁定技结束阶段开始时你失去1点体力然后摸两张牌。',
@ -18461,6 +18527,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinmoucheng_info:'觉醒技准备阶段若你已经发动了3次以上的〖连计〗则你失去〖连计〗并获得〖矜功〗。',
xinjingong:'矜功',
xinjingong_info:'出牌阶段限一次,你可以将一张【杀】或装备牌当做三张随机锦囊牌中的一张使用。',
xingdaorong:'邢道荣',
xuxie:'虚猲',
xuxie_info:'出牌阶段开始时你可以减1点体力上限并选择所有与你距离为1的角色弃置这些角色的各一张牌或令这些角色各摸一张牌。出牌阶段结束时若你的体力上限为全场最少则你加1点体力上限。',
sp_default:"常规",
sp_whlw:"文和乱武",

View File

@ -303,6 +303,53 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
ganglie_three:{
audio:'ganglie',
trigger:{player:'damageEnd'},
direct:true,
content:function(){
"step 0"
player.chooseTarget(get.prompt2('ganglie_three'),function(card,player,target){
return target.isEnemyOf(player);
}).set('ai',function(target){
return -get.attitude(_status.event.player,target)/(1+target.countCards('h'));
});
"step 1"
if(result.bool){
event.target=result.targets[0];
player.logSkill('ganglie_three',target);
}
else event.finish();
"step 2"
player.judge(function(card){
if(get.suit(card)=='heart') return -2;
return 2;
})
"step 3"
if(result.judge<2){
event.finish();return;
}
target.chooseToDiscard(2).set('ai',function(card){
if(card.name=='tao') return -10;
if(card.name=='jiu'&&_status.event.player.hp==1) return -10;
return get.unuseful(card)+2.5*(5-get.owner(card).hp);
});
"step 4"
if(result.bool==false){
target.damage();
}
},
ai:{
maixie_defend:true,
effect:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing',false,target)) return [1,-1];
return 0.8;
// if(get.tag(card,'damage')&&get.damageEffect(target,player,player)>0) return [1,0,0,-1.5];
}
}
}
},
tuxi:{
audio:2,
trigger:{player:'phaseDrawBegin1'},
@ -902,6 +949,36 @@ game.import('character',function(lib,game,ui,get,ai,_status){
respondSha:true,
}
},
zhongyi:{
audio:2,
enable:'phaseUse',
limited:true,
skillAnimation:true,
animationColor:'orange',
filterCard:true,
position:'he',
filter:function(event,player){
return player.countCards('he')>0;
},
toStorage:true,
discard:false,
content:function(){
player.awakenSkill('zhongyi');
player.addTempSkill('zhongyi2','roundStart');
player.markAuto('zhongyi2',cards);
},
},
zhongyi2:{
trigger:{global:'damageBegin1'},
forced:true,
popup:false,
logTarget:'source',
filter:function(event,player){
return event.getParent().name=='sha'&&event.source&&event.source.isFriendOf(player);
},
content:function(){trigger.num++},
intro:{content:'cards',onunmark:'throw'},
},
paoxiao:{
audio:2,
firstDo:true,
@ -2331,6 +2408,38 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
zhanshen:{
audio:2,
trigger:{player:'phaseZhunbeiBegin'},
forced:true,
skillAnimation:true,
animationColor:'gray',
filter:function(event,player){
return player.isDamaged()&&game.dead.filter(function(target){
return target.isFriendOf(player);
}).length>0
},
content:function(){
player.awakenSkill('zhanshen');
var card=player.getEquip(1);
if(card) player.discard(card);
player.loseMaxHp();
player.addSkill('mashu');
player.addSkill('shenji');
},
derivation:['mashu','shenji'],
},
shenji:{
mod:{
selectTarget:function(card,player,range){
if(range[1]==-1) return;
if(card.name=='sha') range[1]+=2;
},
cardUsable:function(card,player,num){
if(card.name=='sha') return num+1;
}
},
},
lijian:{
audio:2,
audioname:['re_diaochan'],
@ -2687,6 +2796,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"xinfu_jijie_info":"出牌阶段限一次。你可以观看牌堆底的一张牌,然后将其交给一名角色。",
"xinfu_jiyuan":"急援",
"xinfu_jiyuan_info":"当一名角色进入濒死状态时,或你交给一名其他角色牌时,你可以令其摸一张牌。",
ganglie_three:'刚烈',
ganglie_three_info:'当你受到伤害后你可令一名敌方角色判定。若结果不为♥其弃置两张牌或受到来自你的1点伤害。',
zhongyi:'忠义',
zhongyi2:'忠义',
zhongyi_info:'限定技,出牌阶段,你可以将一张牌置于武将牌上。你的武将牌上有〖忠义〗牌时,己方角色使用【杀】造成的伤害+1。下轮游戏开始时你将〖忠义〗牌置入弃牌堆。',
zhanshen:'战神',
zhanshen_info:'觉醒技准备阶段若场上有已死亡的其他己方角色且你已受伤则你弃置装备区的武器牌减1点体力上限获得技能〖马术〗和〖神戟〗',
shenji:'神戟',
shenji_info:'锁定技,你使用【杀】指定的目标数上限+2次数上限+1',
standard_2008:"2008版标准包",
standard_2013:"2013版标准包",

View File

@ -23,7 +23,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caochong:['male','wei',3,['chengxiang','renxin']],
xunyou:['male','wei',3,['qice','zhiyu']],
xin_xushu:['male','shu',3,['xinwuyan','xinjujian']],
xin_masu:['male','shu',3,['resanyao','rezhiman']],
xin_masu:['male','shu',3,['sanyao','zhiman']],
xin_fazheng:['male','shu',3,['xinenyuan','xinxuanhuo'],['die_audio']],
zhuran:['male','wu',4,['danshou']],
xusheng:['male','wu',4,['xinpojun']],
@ -43,7 +43,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
manchong:['male','wei',3,['xinjunxing','yuce']],
guanzhang:['male','shu',4,['fuhun']],
chenqun:['male','wei',3,['pindi','faen']],
sunluban:['female','wu',3,['rechanhui','rejiaojin']],
sunluban:['female','wu',3,['chanhui','jiaojin']],
guyong:['male','wu',3,['shenxing','bingyi']],
caifuren:['female','qun',3,['qieting','xianzhou']],
yj_jushou:['male','qun',3,['jianying','shibei']],
@ -59,7 +59,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gaoshun:['male','qun',4,['xinxianzhen','jinjiu']],
caozhen:['male','wei',4,['xinsidi']],
wuyi:['male','shu',4,['benxi']],
hanhaoshihuan:['male','wei',4,['shenduan','yonglve']],
hanhaoshihuan:['male','wei',4,['reshenduan','reyonglve']],
caorui:['male','wei',3,['huituo','mingjian','xingshuai'],['zhu']],
caoxiu:['male','wei',4,['reqianju','reqingxi']],
@ -81,7 +81,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
cenhun:['male','wu',3,['jishe','lianhuo']],
huanghao:['male','shu',3,['qinqing','huisheng']],
zhangrang:['male','qun',3,['xintaoluan']],
zhangrang:['male','qun',3,['taoluan']],
sunziliufang:['male','wei',3,['guizao','jiyu']],
xinxianying:['female','wei',3,['xinzhongjian','xincaishi']],
@ -993,7 +993,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
prompt:'将一张牌当做闪使用',
enable:'chooseToUse',
filter:function(event,player){
return !player.storage.xintaoluan.contains('shan')&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
return player.countCards('he')&&!player.storage.xintaoluan.contains('shan')&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
},
onuse:function(result,player){
var evt=_status.event.getParent('phase');
@ -1030,7 +1030,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
ai:{
skillTagFilter:function(player){
return !player.storage.xintaoluan.contains('shan')&&!player.hasSkill('xintaoluan3');
return player.countCards('he')&&!player.storage.xintaoluan.contains('shan')&&!player.hasSkill('xintaoluan3');
},
threaten:1.5,
respondShan:true,
@ -1041,10 +1041,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
enable:'chooseToUse',
prompt:'将一张牌当做无懈可击使用',
filter:function(event,player){
return (!player.storage.xintaoluan.contains('wuxie'))&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
return player.countCards('he')&&(!player.storage.xintaoluan.contains('wuxie'))&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
},
viewAsFilter:function(player){
return (!player.storage.xintaoluan.contains('wuxie'))&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
return player.countCards('he')&&(!player.storage.xintaoluan.contains('wuxie'))&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
},
onuse:function(result,player){
var evt=_status.event.getParent('phase');
@ -3509,7 +3509,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
enable:'chooseToUse',
filter:function(event,player){
return event.type!='wuxie'&&event.type!='respondShan'&&!player.hasSkill('taoluan3')&&player.countCards('he')>0&&!_status.dying.length;
return event.type!='wuxie'&&event.type!='respondShan'&&!player.hasSkill('taoluan3')&&player.countCards('he')>0;//&&!_status.dying.length;
},
init:function(player){
if(!player.storage.taoluan) player.storage.taoluan=[];
@ -3565,6 +3565,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
ai:{
save:true,
skillTagFilter:function(player){
if(!player.countCards('he')||player.hasSkill('taoluan3')) return false;
if(!player.storage.taoluan.contains('tao')){}
else if(player.isDying()&&!player.storage.taoluan.contains('jiu')){}
else return false;
},
order:4,
result:{
player:function(player){
@ -3626,7 +3633,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else{
player.addTempSkill('taoluan3');
player.loseHp();
var next=player.loseHp();
event.next.remove(next);
event.getParent('phase').after.push(next);
}
}
},
@ -3635,7 +3644,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
prompt:'将一张牌当做闪使用',
enable:'chooseToUse',
filter:function(event,player){
return !player.storage.taoluan.contains('shan')&&!player.hasSkill('taoluan3')&&!_status.dying.length;
return !player.storage.taoluan.contains('shan')&&!player.hasSkill('taoluan3')&&player.countCards('he');//&&!_status.dying.length;
},
onuse:function(result,player){
player.storage.taoluan.add('shan');
@ -3646,7 +3655,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
viewAs:{name:'shan'},
ai:{
skillTagFilter:function(player){
return !player.storage.taoluan.contains('shan')&&!player.hasSkill('taoluan3');
return player.countCards('he')&&!player.storage.taoluan.contains('shan')&&!player.hasSkill('taoluan3');
},
threaten:1.5,
respondShan:true,
@ -3657,7 +3666,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
enable:'chooseToUse',
prompt:'将一张牌当做无懈可击使用',
viewAsFilter:function(player){
return !player.storage.taoluan.contains('wuxie');
return !player.storage.taoluan.contains('wuxie')&&!player.hasSkill('taoluan3')&&player.countCards('he');
},
onuse:function(result,player){
player.storage.taoluan.add('wuxie');
@ -5014,7 +5023,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(arg.target!=player.storage.xinxianzhen) return false;
},
effect:{
player:function(card,player,target,current,lsLink){
player:function(card,player,target,current,isLink){
if(isLink||!player.storage.xinxianzhen) return;
if(target!=player.storage.xinxianzhen&&['sha','guohe','shunshou','huogong','juedou'].contains(card.name)){
if(get.effect(player.storage.xinxianzhen,card,player,player)>0){
@ -5354,6 +5363,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
return false;
},
audio:2,
direct:true,
content:function(){
'step 0'
@ -5419,9 +5429,127 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
reshenduan:{
audio:'shenduan',
trigger:{player:'loseAfter'},
filter:function(event,player){
if(event.type!='discard') return;
for(var i=0;i<event.cards2.length;i++){
if(get.color(event.cards2[i],player)=='black'&&['basic','equip'].contains(get.type(event.cards2[i],event.hs.contains(event.cards2[i])?event.player:false))&&
get.position(event.cards2[i])=='d'){
return true;
}
}
return false;
},
direct:true,
content:function(){
'step 0'
var cards=[];
for(var i=0;i<trigger.cards2.length;i++){
if(get.color(trigger.cards2[i],player)=='black'&&['basic','equip'].contains(get.type(trigger.cards2[i],trigger.hs.contains(trigger.cards2[i])?trigger.player:false))&&
get.position(trigger.cards2[i])=='d'){
cards.push(trigger.cards2[i]);
}
}
if(!cards.length){
event.finish();
}
else{
event.cards=cards;
}
'step 1'
if(event.cards.length){
player.chooseTarget(get.prompt('shenduan'),'将'+get.translation(event.cards)+(event.cards.length>1?'中的一张牌':'')+'当做【兵粮寸断】对一名其他角色使用',function(card,player,target){
var cs=_status.event.cards;
for(var i=0;i<cs.length;i++){
if(player.canUse({name:'bingliang',cards:[cs[i]]},target,false)) return true;
}
return false;
}).set('ai',function(target){
var player=_status.event.player;
return get.effect(target,{name:'bingliang'},player,player);
}).set('cards',cards);
}
else{
event.finish();
}
'step 2'
if(result.bool&&result.targets&&result.targets.length){
event.current=result.targets[0];
if(event.cards.length==1){
event.directCard=event.cards[0];
}
else{
delete event.directCard;
player.chooseCardButton('选择一张牌当作兵断寸断使用',event.cards,true).set('filterButton',function(button){
return player.canUse({name:'bingliang',cards:[button.link]},_status.event.target,false);
}).set('target',event.current);
}
}
else{
event.finish();
}
'step 3'
var card;
if(event.directCard){
card=event.directCard;
}
else if(result.links&&result.links.length&&
event.cards.contains(result.links[0])){
card=result.links[0]
}
if(card){
event.cards.remove(card);
player.line(event.current);
player.useCard({name:'bingliang'},event.current,[card],'reshenduan').animate=false;
event.goto(1);
}
}
},
reyonglve:{
trigger:{global:'phaseJudgeBegin'},
direct:true,
filter:function(event,player){
return event.player!=player&&event.player.countCards('j')>0;
},
content:function(){
'step 0'
var att=get.attitude(player,trigger.player);
var nh=trigger.player.countCards('h');
var eff=get.effect(trigger.player,{name:'sha',isCard:true},player,player);
if(!player.canUse({name:'sha',isCard:true},trigger.player,false)) eff=0;
player.discardPlayerCard(get.prompt('yonglve',trigger.player),trigger.player,'j').set('ai',function(button){
var name=button.link.viewAs||button.link.name;
var att=_status.event.att;
var nh=_status.event.nh;
var eff=_status.event.eff;
var trigger=_status.event.getTrigger();
if(att>0&&eff>=0) return 1;
if(att>=0&&eff>0) return 1;
if(att>0&&(trigger.player.hp>=3||trigger.player.getEquip('bagua')||trigger.player.countCards('h','shan'))){
if(name=='lebu'&&nh>trigger.player.hp) return 1;
if(name=='bingliang'&&nh<trigger.player.hp) return 1;
}
return 0;
}).set('att',att).set('nh',nh).set('eff',eff).set('logSkill',['reyonglve',trigger.player]);
'step 1'
if(result.bool){
if(player.canUse({name:'sha',isCard:true},trigger.player,false)){
event.related=player.useCard({name:'sha',isCard:true},trigger.player);
}
}
else{
event.finish();
}
'step 2'
player.draw();
},
},
yonglve:{
trigger:{global:'phaseJudgeBegin'},
direct:true,
audio:2,
filter:function(event,player){
return event.player!=player&&event.player.countCards('j')>0&&player.inRange(event.player);
},
@ -8046,6 +8174,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return target.isMaxHp();
},
check:function(card){
var player=_status.event.player;
if(game.countPlayer(function(current){
return current.isMaxHp()&&get.effect(current,'sanyao',player,player)>0;
})<=ui.selected.cards.length) return 0;
@ -8618,17 +8747,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:'chanhui',
trigger:{player:'useCardToPlayer'},
filter:function(event,player){
if(_status.currentPhase!=player) return false;
if(_status.currentPhase!=player||player.hasSkill('rechanhui2')) return false;
if(event.targets.length>1) return false;
var card=event.card;
if(card.name=='sha'||get.type(card)=='trick') return true;
if(card.name=='sha'||get.type(card)=='trick'&&get.color(card)=='black') return true;
return false;
},
direct:true,
content:function(){
"step 0"
player.chooseTarget(get.prompt2('rechanhui'),function(card,player,target){
if(player==target||target.hasSkill('rechanhui2')) return false;
if(player==target) return false;
var trigger=_status.event;
return player.canUse(trigger.card,target)&&trigger.targets.contains(target)==false;
}).set('ai',function(target){
@ -8660,7 +8789,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else{
game.log(event.target,'成为了',trigger.card,'的额外目标');
trigger.getParent().targets.push(event.target);
target.addTempSkill('rechanhui2');
player.addTempSkill('rechanhui2');
}
}
},
@ -8669,9 +8798,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:'jiaojin',
trigger:{target:'useCardToTargeted'},
filter:function(event,player){
return player.countCards('he',function(card){
return (event.card.name=='sha'||get.type(event.card)=='trick')&&event.player&&event.player.sex=='male'&&player.countCards('he',function(card){
return _status.connectMode||get.type(card)=='equip';
})&&event.player&&event.player.sex=='male';
});
},
direct:true,
content:function(){
@ -8680,20 +8809,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return get.type(card)=='equip';
});
next.set('ai',function(card){
if(_status.event.goon){
return 9-get.value(card);
}
else if(_status.event.goon2){
return 4-get.value(card);
if(_status.event.goon2){
return 3+_status.event.val-get.value(card);
}
return 0;
});
next.set('goon',lib.skill.zhenlie.check(trigger,player));
next.set('val',get.value(trigger.cards.filterInD()));
next.set('goon2',get.effect(player,trigger.card,trigger.player,player)<0)
next.logSkill='rejiaojin';
"step 1"
if(result.bool){
game.delay(0.5);
var cards=trigger.cards.filterInD();
if(cards.length) player.gain(cards,'gain2','log');
trigger.excluded.push(player);
}
}
@ -11379,7 +11506,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
zquanji:{
trigger:{global:'phaseZhunbeiBegin'},
trigger:{global:'phaseZhunbeiBefore'},
//priority:15,
check:function(event,player){
var att=get.attitude(player,event.player);
@ -11401,7 +11528,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 1"
if(result.bool){
trigger.player.skip('phaseJudge');
trigger.untrigger();
trigger.cancel();
}
},
ai:{
@ -11752,7 +11879,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
taoluan4:'滔乱',
taoluan5:'滔乱',
taoluan_backup:'滔乱',
taoluan_info:'若场上没有濒死的角色,则你可以将一张牌当做任意一张基本牌或普通锦囊牌使用此牌不得是本局游戏你以此法使用过的牌然后你令一名其他角色选择一项1.交给你一张与你以此法使用的牌类别不同的牌2.你失去1点体力且滔乱无效直到回合结束',
taoluan_info:'你可以将一张牌当做任意一张基本牌或普通锦囊牌使用此牌不得是本局游戏你以此法使用过的牌然后你令一名其他角色选择一项1.交给你一张与你以此法使用的牌类别不同的牌2.你于回合结束时失去1点体力且滔乱无效直到回合结束',
xintaoluan:'滔乱',
xintaoluan4:'滔乱',
xintaoluan5:'滔乱',
@ -11814,6 +11941,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shenduan_info:'当你的黑色基本牌因弃置而进入弃牌堆后,你可以将其当做【兵粮寸断】使用(无距离限制)。',
yonglve:'勇略',
yonglve_info:'一名其他角色的判定阶段开始时,若其在你攻击范围内,则你可以弃置其判定区里的一张牌,视为对该角色使用一张【杀】。若此【杀】未造成伤害,你摸一张牌。',
reshenduan:'慎断',
reshenduan_info:'当你的黑色基本牌或装备牌因弃置而进入弃牌堆后,你可以将其当做【兵粮寸断】使用(无距离限制)。',
reyonglve:'勇略',
reyonglve_info:'一名其他角色的判定阶段开始时,你可以弃置其判定区里的一张牌,视为对该角色使用一张【杀】。然后你摸一张牌。',
benxi:'奔袭',
benxi_info:'锁定技,你的回合内,你每使用一次牌后,你的进攻距离+1直到回合结束你的回合内若你与所有角色的距离均为1你无视其他角色的防具且你使用的【杀】可额外指定一个目标',
xinbenxi:'奔袭',
@ -11940,11 +12071,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
chanhui:'谮毁',
chanhui_info:'出牌阶段限一次,当你使用【杀】或黑色普通锦囊牌指定唯一目标时,你可令可以成为此牌目标的另一名其他角色选择一项:交给你一张牌并成为此牌的使用者;或成为此牌的额外目标。',
rechanhui:'谮毁',
rechanhui_info:'出牌阶段,当你使用【杀】或普通锦囊牌指定唯一目标时,你可令可以成为此牌目标的另一名其他角色选择一项:交给你一张牌并成为此牌的使用者;或成为此牌的额外目标且本回合内不能再次成为〖谮毁〗的目标。',
rechanhui_info:'出牌阶段,当你使用【杀】或黑色普通锦囊牌指定唯一目标时,你可令可以成为此牌目标的另一名其他角色选择一项:交给你一张牌并成为此牌的使用者;或成为此牌的额外目标且你本回合内不能再次发动〖谮毁〗。',
jiaojin:'骄矜',
jiaojin_info:'当你受到男性角色造成的伤害时,你可以弃置一张装备牌,令此伤害-1。',
rejiaojin:'骄矜',
rejiaojin_info:'当你成为男性角色使用的牌的目标后,你可以弃置一张装备牌,令此牌对你无效。',
rejiaojin_info:'当你成为男性角色使用的【杀】或普通锦囊牌的目标后,你可以弃置一张装备牌,令此牌对你无效并获得此牌对应的所有实体牌。',
shenxing:'慎行',
shenxing_info:'出牌阶段,你可以弃置两张牌,然后摸一张牌。',
bingyi:'秉壹',

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.9.100.3',
'v1.9.100.4',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -574,6 +574,7 @@ window.noname_asset_list=[
'audio/die/xin_chengpu.mp3',
'audio/die/zhengxuan.mp3',
'audio/die/ol_sunjian.mp3',
'audio/die/re_taishici.mp3',
'audio/skill/anguo1.mp3',
'audio/skill/anguo2.mp3',
@ -2540,6 +2541,15 @@ window.noname_asset_list=[
'audio/skill/yidian2.mp3',
'audio/skill/yinghun_ol_sunjian1.mp3',
'audio/skill/yinghun_ol_sunjian2.mp3',
'audio/skill/hanzhan1.mp3',
'audio/skill/hanzhan2.mp3',
'audio/skill/pingjian1.mp3',
'audio/skill/tianyi_re_taishici1.mp3',
'audio/skill/tianyi_re_taishici2.mp3',
'audio/skill/zhanshen1.mp3',
'audio/skill/zhanshen2.mp3',
'audio/skill/zhongyi1.mp3',
'audio/skill/zhongyi2.mp3',
'font/huangcao.ttf',
'font/shousha.ttf',
@ -3115,6 +3125,11 @@ window.noname_asset_list=[
'image/character/ol_huaxiong.jpg',
'image/character/yj_xuhuang.jpg',
'image/character/yj_zhanghe.jpg',
'image/character/ol_pangde.jpg',
'image/character/re_masu.jpg',
'image/character/re_sunluban.jpg',
'image/character/re_taishici.jpg',
'image/character/xushao.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',

View File

@ -11269,6 +11269,7 @@
var next=game.createEvent(name+'Cancel');
next.setContent(lib.card[name].cancel);
next.card=event.card;
next.cards=[event.card];
next.player=player;
}
}
@ -11277,6 +11278,7 @@
next.setContent(lib.card[name].effect);
next._result=result;
next.card=event.card;
next.cards=[event.card];
next.player=player;
}
ui.clear();
@ -11803,8 +11805,12 @@
}
game.log(player,'对',targets,'发起拼点');
"step 1"
event.list=targets.slice(0);
event.list.unshift(player);
event._result=[];
event.list=targets.filter(function(current){
return !event.fixedResult||!event.fixedResult[current.playerid];
});
if(event.list.length||!event.fixedResult||!event.fixedResult[player.playerid]){
if(!event.fixedResult||!event.fixedResult[player.playerid]) event.list.unshift(player);
player.chooseCardOL(event.list,'请选择拼点牌',true).set('type','compare').set('ai',event.ai).set('source',player).aiCard=function(target){
var hs=target.getCards('h');
var event=_status.event;
@ -11815,14 +11821,23 @@
delete event.player;
return {bool:true,cards:[hs[0]]};
};
}
"step 2"
var cards=[];
if(event.fixedResult&&event.fixedResult[player.playerid]){
event.list.unshift(player);
result.unshift({bool:true,cards:[event.fixedResult[player.playerid]]});
}
else{
if(result[0].skill&&lib.skill[result[0].skill]&&lib.skill[result[0].skill].onCompare){
player.logSkill(result[0].skill);
result[0].cards=lib.skill[result[0].skill].onCompare(player)
}
};
player.lose(result[0].cards,ui.ordering);
for(var i=1;i<result.length;i++){
for(var j=0;j<targets.length;j++){
if(event.list.contains(targets[j])){
var i=event.list.indexOf(targets[j]);
if(result[i].skill&&lib.skill[result[i].skill]&&lib.skill[result[i].skill].onCompare){
event.list[i].logSkill(result[i].skill);
result[i].cards=lib.skill[result[i].skill].onCompare(event.list[i]);
@ -11830,6 +11845,11 @@
event.list[i].lose(result[i].cards,ui.ordering);
cards.push(result[i].cards[0]);
}
else if(event.fixedResult&&event.fixedResult[targets[j].playerid]){
targets[j].lose(event.fixedResult[targets[j].playerid],ui.ordering);
cards.push(event.fixedResult[targets[j].playerid]);
}
}
event.cardlist=cards;
event.cards=cards;
event.card1=result[0].cards[0];
@ -11924,7 +11944,8 @@
};
}
};
if(player.isOnline()){
if(event.fixedResult&&event.fixedResult[player.playerid]) event.card1=event.fixedResult[player.playerid];
else if(player.isOnline()){
player.wait(sendback);
event.ol=true;
player.send(function(ai){
@ -11936,7 +11957,8 @@
event.localPlayer=true;
player.chooseCard('请选择拼点牌',true).set('type','compare').set('glow_result',true).ai=event.ai;
}
if(target.isOnline()){
if(event.fixedResult&&event.fixedResult[target.playerid]) event.card2=event.fixedResult[target.playerid];
else if(target.isOnline()){
target.wait(sendback);
event.ol=true;
target.send(function(ai){
@ -23717,7 +23739,7 @@
if(this.buttons.length>3||(zoom&&this.buttons.length>5)){
this.classList.remove('forcebutton-auto');
}
else{
else if(!this.noforcebutton){
this.classList.add('forcebutton-auto');
}
}
@ -28696,6 +28718,7 @@
},
over:function(str){
var dialog=ui.create.dialog('hidden');
dialog.noforcebutton=true;
dialog.content.innerHTML=str;
dialog.forcebutton=true;
dialog.open();
@ -29823,6 +29846,7 @@
}
if(game.online){
var dialog=ui.create.dialog();
dialog.noforcebutton=true;
dialog.content.innerHTML=result;
dialog.forcebutton=true;
var result2=arguments[1];
@ -29910,6 +29934,7 @@
if(result===false) result='战斗失败';
if(result==undefined) result='战斗结束';
dialog=ui.create.dialog(result);
dialog.noforcebutton=true;
dialog.forcebutton=true;
if(game.addOverDialog){
game.addOverDialog(dialog,result);
@ -46998,9 +47023,10 @@
},
};
var get={
isLuckyStar:function(){
isLuckyStar:function(player){
if(player&&player.hasSkillTag('luckyStar')) return true;
if(_status.connectMode) return false;
return lib.config.lucky_star==true;
return (!player||player==game.me||player.isUnderControl())&&lib.config.lucky_star==true;
},
infoHp:function(hp){
if(typeof hp=='number') return hp;

View File

@ -1,14 +1,15 @@
window.noname_update={
version:'1.9.100.3.1',
update:'1.9.100.3',
version:'1.9.100.4',
update:'1.9.100.3.1',
changeLog:[
'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',
@ -17,7 +18,7 @@ window.noname_update={
//'card/yunchou.js',
//'card/zhenfa.js',
//'card/zhulu.js',
//'character/diy.js',
'character/diy.js',
//'character/extra.js',
//'character/hearth.js',
//'character/gujian.js',
@ -25,31 +26,31 @@ window.noname_update={
//'character/hearth.js',
'character/mobile.js',
//'character/mtg.js',
//'character/old.js',
//'character/refresh.js',
//'character/shenhua.js',
'character/old.js',
'character/refresh.js',
'character/shenhua.js',
'character/sp.js',
//'character/tw.js',
//'character/standard.js',
'character/standard.js',
//'character/swd.js',
//'character/xianjian.js',
//'character/xinghuoliaoyuan.js',
//'character/yijiang.js',
'character/yijiang.js',
//'character/yxs.js',
//'extension/boss/extension.js',
//'layout/default/layout.css',
//'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',
//'mode/stone.js',
//'mode/brawl.js',
//'mode/versus.js',
//'mode/boss.js',
//'game/game.js',
'mode/brawl.js',
'mode/versus.js',
'mode/boss.js',
'game/game.js',
//'game/NoSleep.js',
//'game/config.js',
//'game/package.js',

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

BIN
image/character/re_masu.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

BIN
image/character/xushao.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

View File

@ -2598,7 +2598,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
},
boss_leifu:{
trigger:{player:'phaseAfter'},
trigger:{player:'phaseJieshuBegin'},
forced:true,
content:function(){
var list=game.players.slice(0);
@ -3659,7 +3659,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
},
boss_shedu:{
trigger:{player:"phaseBefore"},
trigger:{player:"phaseBegin"},
mark:true,
intro:{content:'mark'},
forced:true,
@ -3687,7 +3687,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
return num-player.hp+9;
},
},
trigger:{player:['phaseUseBegin','phaseAfter','phaseDrawBegin']},
trigger:{player:['phaseUseBegin','phaseJieshuBegin','phaseDrawBegin']},
forced:true,
filter:function(event,player){
return event.name=='phaseDraw'||player.countCards('h')<9;
@ -3738,9 +3738,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
},
boss_bingxian:{
trigger:{global:'phaseAfter'},
trigger:{global:'phaseJieshuBegin'},
filter:function(event,player){
return event.player!=player&&event.player.countUsed('sha')==0;
return event.player!=player&&event.player.countUsed('sha',true)==0;
},
forced:true,
content:function(){
@ -3852,7 +3852,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
},
forced:true,
trigger:{player:'phaseBegin'},
trigger:{player:'phaseZhunbeiBegin'},
content:function(){
'step 0'
event.num1=3;
@ -3909,7 +3909,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
boss_yanyu:{
forced:true,
trigger:{global:'phaseBefore'},
trigger:{global:'phaseBegin'},
filter:function(event,player){
return player!=event.player;
},
@ -3931,7 +3931,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
},
boss_fengdong:{
trigger:{player:"phaseBefore"},
trigger:{player:"phaseBegin"},
forced:true,
content:function(){
game.countPlayer(function(current){
@ -4532,7 +4532,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
},
boss_yandu:{
trigger:{global:'phaseAfter'},
trigger:{global:'phaseJieshuBegin'},
filter:function(event,player){
return event.player!=player&&!event.player.getStat('damage')&&event.player.countCards('he');
},
@ -8669,20 +8669,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
}
},
shenji:{
unique:true,
mod:{
selectTarget:function(card,player,range){
if(range[1]==-1) return;
//if(player.getEquip(1)) return;
if(card.name=='sha') range[1]+=2;
},
cardUsable:function(card,player,num){
//if(player.getEquip(1)) return;
if(card.name=='sha') return num+1;
}
},
},
boss_baonuwash:{
trigger:{player:'phaseAfter'},
forced:true,
@ -9602,8 +9588,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
boss_baonu_info:'锁定技当你的体力值降至4或更低时你变身为暴怒战神或神鬼无前并立即开始你的回合',
shenwei:'神威',
shenwei_info:'锁定技摸牌阶段你额外摸X张牌你的手牌上限+XX为场上其他角色的数目且至多为3',
shenji:'神戟',
shenji_info:'锁定技,你使用【杀】指定的目标数上限+2次数上限+1',
xiuluo:'修罗',
xiuluo_info:'准备阶段,你可以弃置一张牌,然后弃置你判定区内一张同花色的牌。你可以重复此流程。',
shenqu:'神躯',

View File

@ -6549,6 +6549,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(event.current._group==player.group&&event.current.wontYe()){
event.current.chooseControl('明置主将','明置副将','取消').set('prompt','是否响应'+get.translation(player)+'的阵法召唤?').ai=function(){return Math.floor(Math.random()*3)};
}
else event.goto(3);
}
else event.goto(3);
'step 2'

View File

@ -104,6 +104,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
lib.character.key_yuzuru[2]=4;
lib.character.key_yuzuru[3]=['yuzuru_bujin'];
}
if(lib.character.guanyu) lib.character.guanyu[3]=['wusheng','zhongyi'];
if(lib.character.lvbu) lib.character.lvbu[3]=['wushuang','zhanshen'];
if(lib.character.xiahoudun) lib.character.xiahoudun[3]=['ganglie_three'];
if(!get.config('enable_all_cards')){
lib.translate.wuzhong_info+='若对方存活角色多于己方,则额外摸一张牌';
lib.translate.zhuge_info='锁定技,出牌阶段,你使用杀的次数上限+3';
@ -3805,21 +3808,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
["club",4,"bingliang"],
],
choiceThree:[
//'zhenji','zhugeliang','diaochan','liyan','xuezong','simalang','quyi','re_guojia',
'sunquan',
're_ganning','re_daqiao','re_zhangfei','re_machao','re_simayi','re_zhangliao','re_xuzhu',
're_lidian',
'jiangwei','sunce',
'dianwei','dengai','re_pangde',
'xusheng','chengong','xin_masu',
'madai','lingtong','yufan',
'wangji','yanyan','wangping',
'guyong','jushou','caifuren','zhoucang','liuchen',
'caiyong',
'zhugejin',
'sp_sunshangxiang','luzhi','sp_liuqi',
'mazhong','mayunlu','litong','wenpin',
'zhugeke','dingfeng',
're_caocao','re_simayi','xiahoudun','re_zhangliao','re_guojia','zhenji','re_xiahouyuan','xuhuang',
'wenpin','re_xuzhu','wangyi','dianwei','re_lidian','xunyou','dengai','wangji',
'zhongyao','yuejin','simalang','zhangchunhua','sp_caoren','luzhi','litong','re_liubei',
'guanyu','re_zhangfei','re_zhugeliang','re_zhaoyun','re_machao','huangyueying','jiangwei','xin_masu',
'liuchen','re_huangzhong','mizhu','madai','wangping','xin_fazheng','re_xushu','liyan',
'sp_sunshangxiang','zhoucang','yanyan','mazhong','mayunlu','sunquan','re_ganning','re_huanggai',
're_zhouyu','re_daqiao','sunshangxiang','sunjian','re_xiaoqiao','sunce','re_luxun','zhugejin',
'dingfeng','lingtong','guyong','xusheng','yufan','handang','panzhangmazhong','zhugeke',
'zumao','xuezong','re_huatuo','lvbu','diaochan','re_pangde','jiaxu','chengong',
're_gongsunzan','caifuren','gongsunyuan','yj_jushou','sp_liuqi','quyi','caiyong','key_yuzuru'
],
choiceFour:[
'sunquan','zhenji','re_diaochan','zhugeliang','sunshangxiang','re_huangyueying',