あたしわ死んだ世界戦線のリーダーなのよ
|
@ -771,7 +771,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
value:5
|
value:5
|
||||||
},
|
},
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target_use:function(player,target){
|
||||||
if(player.hasUnknown(2)&&get.mode()!='guozhan') return 0;
|
if(player.hasUnknown(2)&&get.mode()!='guozhan') return 0;
|
||||||
var nh=target.countCards('h');
|
var nh=target.countCards('h');
|
||||||
if(get.mode()=='identity'){
|
if(get.mode()=='identity'){
|
||||||
|
@ -781,6 +781,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
if(nh==1) return -1.7
|
if(nh==1) return -1.7
|
||||||
return -1.5;
|
return -1.5;
|
||||||
},
|
},
|
||||||
|
target:function(player,target){
|
||||||
|
var nh=target.countCards('h');
|
||||||
|
if(get.mode()=='identity'){
|
||||||
|
if(target.isZhu&&nh<=2&&target.hp<=1) return -100;
|
||||||
|
}
|
||||||
|
if(nh==0) return -2;
|
||||||
|
if(nh==1) return -1.7
|
||||||
|
return -1.5;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
tag:{
|
tag:{
|
||||||
respond:1,
|
respond:1,
|
||||||
|
@ -836,7 +845,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
value:5
|
value:5
|
||||||
},
|
},
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target_use:function(player,target){
|
||||||
if(player.hasUnknown(2)&&get.mode()!='guozhan') return 0;
|
if(player.hasUnknown(2)&&get.mode()!='guozhan') return 0;
|
||||||
var nh=target.countCards('h');
|
var nh=target.countCards('h');
|
||||||
if(get.mode()=='identity'){
|
if(get.mode()=='identity'){
|
||||||
|
@ -846,6 +855,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
if(nh==1) return -1.7
|
if(nh==1) return -1.7
|
||||||
return -1.5;
|
return -1.5;
|
||||||
},
|
},
|
||||||
|
target:function(player,target){
|
||||||
|
var nh=target.countCards('h');
|
||||||
|
if(get.mode()=='identity'){
|
||||||
|
if(target.isZhu&&nh<=2&&target.hp<=1) return -100;
|
||||||
|
}
|
||||||
|
if(nh==0) return -2;
|
||||||
|
if(nh==1) return -1.7
|
||||||
|
return -1.5;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
tag:{
|
tag:{
|
||||||
respond:1,
|
respond:1,
|
||||||
|
|
102
card/zhulu.js
|
@ -234,15 +234,21 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
order:5
|
order:5
|
||||||
},
|
},
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target:function(player,target,card){
|
||||||
var hs=target.getCards('h');
|
var cards=ui.selected.cards.concat(card.cards||[]);
|
||||||
if(hs.length<=1){
|
var num=player.countCards('he',function(card){
|
||||||
if(target==player&&(hs.length==0||hs[0].name=='kaihua')){
|
if(cards.contains(card)) return false;
|
||||||
return 0;
|
if(get.type(card)=='equip') return 8>get.value(card);
|
||||||
}
|
return 6>get.value(card);
|
||||||
return 0.3;
|
});
|
||||||
}
|
if(!num) return 0;
|
||||||
return Math.sqrt(target.countCards('he'));
|
if(player.countCards('he',function(card){
|
||||||
|
if(cards.contains(card)) return false;
|
||||||
|
if(get.type(card)=='equip') return 4>get.value(card);
|
||||||
|
return false;
|
||||||
|
})) return 1.6;
|
||||||
|
if(num<2) return 0.5;
|
||||||
|
return 1.2;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
tag:{
|
tag:{
|
||||||
|
@ -325,9 +331,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:9,
|
order:9,
|
||||||
|
value:function(card,player){
|
||||||
|
if(player.getEquip(4)==card) return 0;
|
||||||
|
return 4;
|
||||||
|
},
|
||||||
equipValue:function(card,player){
|
equipValue:function(card,player){
|
||||||
if(get.position(card)=='e') return 0;
|
if(player.getCards('e').contains(card)) return 0;
|
||||||
return 1;
|
return -get.value(player.getCards('e'));
|
||||||
},
|
},
|
||||||
basic:{
|
basic:{
|
||||||
equipValue:5,
|
equipValue:5,
|
||||||
|
@ -335,8 +345,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
result:{
|
result:{
|
||||||
keepAI:true,
|
keepAI:true,
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
var card=target.getCards('e');
|
var cards=target.getCards('e');
|
||||||
var val=get.value(card);
|
var val=get.value(cards,target);
|
||||||
if(val>0) return -val;
|
if(val>0) return -val;
|
||||||
return 0;
|
return 0;
|
||||||
},
|
},
|
||||||
|
@ -351,10 +361,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
skills:['yajiaoqiang_skill'],
|
skills:['yajiaoqiang_skill'],
|
||||||
ai:{
|
ai:{
|
||||||
equipValue:function(card,player){
|
equipValue:function(card,player){
|
||||||
var skills=['longdan','kanpo','rekanpo','qingguo','reqingguo'];
|
var skills=['longdan','kanpo','rekanpo','qingguo','reqingguo','ollongdan','refanghun'];
|
||||||
for(var i=0;i<skills.length;i++){
|
for(var i=0;i<skills.length;i++){
|
||||||
if(player.hasSkill(skills[i])) return 5;
|
if(player.hasSkill(skills[i])) return 5;
|
||||||
}
|
}
|
||||||
|
if(player.countCards('h',function(card){
|
||||||
|
return get.color(card)=='black'&&['wuxie','caochuan'].contains(card);
|
||||||
|
})) return 5;
|
||||||
return 2;
|
return 2;
|
||||||
},
|
},
|
||||||
basic:{
|
basic:{
|
||||||
|
@ -374,7 +387,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
order:9,
|
order:9,
|
||||||
equipValue:function(card,player){
|
equipValue:function(card,player){
|
||||||
if(get.position(card)=='e') return -2;
|
if(get.position(card)=='e') return -2;
|
||||||
return 1;
|
return 2;
|
||||||
|
},
|
||||||
|
value:function(card,player){
|
||||||
|
if(player.getEquip(1)==card) return -1.5;
|
||||||
|
return 1.5;
|
||||||
},
|
},
|
||||||
basic:{
|
basic:{
|
||||||
equipValue:5,
|
equipValue:5,
|
||||||
|
@ -382,10 +399,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
result:{
|
result:{
|
||||||
keepAI:true,
|
keepAI:true,
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
var val=2.5;
|
var val=2;
|
||||||
var card=target.getEquip(2);
|
var card=target.getEquip(2);
|
||||||
if(card) val+=get.value(card);
|
if(card){
|
||||||
return -val;
|
var val2=get.value(card,target);
|
||||||
|
if(val2<0) return 0;
|
||||||
|
}
|
||||||
|
return -val-val2;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -402,7 +422,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
order:9,
|
order:9,
|
||||||
equipValue:function(card,player){
|
equipValue:function(card,player){
|
||||||
if(get.position(card)=='e') return -2;
|
if(get.position(card)=='e') return -2;
|
||||||
return 1;
|
return 2;
|
||||||
|
},
|
||||||
|
value:function(card,player){
|
||||||
|
if(player.getEquip(1)==card) return -3;
|
||||||
|
return 3;
|
||||||
},
|
},
|
||||||
basic:{
|
basic:{
|
||||||
equipValue:5,
|
equipValue:5,
|
||||||
|
@ -412,8 +436,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
var val=2.5;
|
var val=2.5;
|
||||||
var card=target.getEquip(2);
|
var card=target.getEquip(2);
|
||||||
if(card) val+=get.value(card);
|
if(card){
|
||||||
return -val;
|
var val2=get.value(card,target);
|
||||||
|
if(val2<0) return 0;
|
||||||
|
}
|
||||||
|
return -val-val2;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -432,6 +459,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
if(get.position(card)=='e') return -1;
|
if(get.position(card)=='e') return -1;
|
||||||
return 1;
|
return 1;
|
||||||
},
|
},
|
||||||
|
value:function(card,player){
|
||||||
|
if(player.getEquip(2)==card) return -2.5;
|
||||||
|
return 2.5;
|
||||||
|
},
|
||||||
basic:{
|
basic:{
|
||||||
equipValue:5,
|
equipValue:5,
|
||||||
},
|
},
|
||||||
|
@ -440,8 +471,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
var val=2;
|
var val=2;
|
||||||
var card=target.getEquip(2);
|
var card=target.getEquip(2);
|
||||||
if(card) val+=get.value(card);
|
if(card){
|
||||||
return -val;
|
var val2=get.value(card,target);
|
||||||
|
if(val2<0) return 0;
|
||||||
|
}
|
||||||
|
return -val-val2;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -479,7 +513,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
ai:{
|
ai:{
|
||||||
order:9.5,
|
order:9.5,
|
||||||
equipValue:function(card,player){
|
equipValue:function(card,player){
|
||||||
if(get.position(card)=='e'){
|
if(card==player.getEquip(2)){
|
||||||
if(player.sex!='male') return 0;
|
if(player.sex!='male') return 0;
|
||||||
var num=player.countCards('he',function(cardx){
|
var num=player.countCards('he',function(cardx){
|
||||||
return cardx!=card;
|
return cardx!=card;
|
||||||
|
@ -489,23 +523,32 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
},
|
},
|
||||||
|
value:function(){
|
||||||
|
return lib.card.nvzhuang.ai.equipValue.apply(this,arguments);
|
||||||
|
},
|
||||||
basic:{
|
basic:{
|
||||||
equipValue:5,
|
equipValue:5,
|
||||||
},
|
},
|
||||||
result:{
|
result:{
|
||||||
keepAI:true,
|
keepAI:true,
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
|
var card=target.getEquip(2);
|
||||||
if(target.sex=='male'){
|
if(target.sex=='male'){
|
||||||
var val=0;
|
var val=0;
|
||||||
var card=target.getEquip(2);
|
if(card){
|
||||||
if(card) val=get.value(card);
|
var val2=get.value(card,target);
|
||||||
|
if(val2<0) return 0;
|
||||||
|
}
|
||||||
var num=target.countCards('he',function(cardx){
|
var num=target.countCards('he',function(cardx){
|
||||||
return cardx!=card
|
return cardx!=card
|
||||||
});
|
});
|
||||||
if(num>0) val+=4/num;
|
if(num>0) val+=4/num;
|
||||||
return -val;
|
return -val;
|
||||||
}
|
}
|
||||||
return 0;
|
if(card){
|
||||||
|
var val2=get.value(card,target);
|
||||||
|
if(val2>0) return val2/4;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -581,10 +624,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
ai:{
|
ai:{
|
||||||
order:9.5,
|
order:9.5,
|
||||||
equipValue:function(card,player){
|
equipValue:function(card,player){
|
||||||
if(get.position(card)!='e') return 5;
|
if(card!=player.getEquip(5)) return 5;
|
||||||
if(_status.jinhe&&_status.jinhe[card.cardid]&&(_status.event.name=='discardPlayerCard'||_status.event.name=='chooseToDiscard')) return 2*player.countCards('h');
|
if(_status.jinhe&&_status.jinhe[card.cardid]&&(_status.event.name=='discardPlayerCard'||_status.event.name=='chooseToDiscard')) return 2*player.countCards('h');
|
||||||
return 0;
|
return 0;
|
||||||
},
|
},
|
||||||
|
value:function(){
|
||||||
|
return lib.card.jinhe.ai.equipValue.apply(this,arguments);
|
||||||
|
},
|
||||||
basic:{
|
basic:{
|
||||||
equipValue:5,
|
equipValue:5,
|
||||||
},
|
},
|
||||||
|
|
155
character/diy.js
|
@ -6,10 +6,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
connectBanned:['diy_tianyu','diy_yangyi','diy_lukang','ns_huamulan','ns_yuji','ns_duangui','ns_liuzhang','key_yuu'],
|
connectBanned:['diy_tianyu','diy_yangyi','diy_lukang','ns_huamulan','ns_yuji','ns_duangui','ns_liuzhang','key_yuu'],
|
||||||
character:{
|
character:{
|
||||||
sp_key_yuri:['female','qun',4,['mubing','ziqu','diaoling']],
|
sp_key_yuri:['female','qun',4,['mubing','ziqu','diaoling']],
|
||||||
ns_zhangwei:['female','shu',3,['nsqiyue','nsxuezhu']],
|
|
||||||
ns_chendao:['male','shu',4,['nsjianglie']],
|
|
||||||
yj_caoang:['male','wei',4,['yjxuepin']],
|
|
||||||
diy_wenyang:['male','wei','4/6',['lvli','choujue']],
|
|
||||||
key_lucia:['female','key','1/2',['lucia_duqu','lucia_zhenren']],
|
key_lucia:['female','key','1/2',['lucia_duqu','lucia_zhenren']],
|
||||||
key_kyousuke:['male','key',4,['nk_shekong','key_huanjie']],
|
key_kyousuke:['male','key',4,['nk_shekong','key_huanjie']],
|
||||||
key_yuri:['female','key',3,['yuri_xingdong','key_huanjie','yuri_wangxi'],['zhu']],
|
key_yuri:['female','key',3,['yuri_xingdong','key_huanjie','yuri_wangxi'],['zhu']],
|
||||||
|
@ -73,6 +69,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ns_sunchensunjun:['male','wu',5,['nsxianhai','nsxingchu']],
|
ns_sunchensunjun:['male','wu',5,['nsxianhai','nsxingchu']],
|
||||||
ns_yuanxi:['male','qun',4,['nsshengyan','nsdaizhan']],
|
ns_yuanxi:['male','qun',4,['nsshengyan','nsdaizhan']],
|
||||||
ns_caoshuang:['male','wei',4,['nsjiquan','nsfuwei']],
|
ns_caoshuang:['male','wei',4,['nsjiquan','nsfuwei']],
|
||||||
|
|
||||||
|
ns_jiaxu:['male','qun',3,['nsyice','luanwu']],
|
||||||
|
ns_zhangwei:['female','shu',3,['nsqiyue','nsxuezhu']],
|
||||||
|
ns_chendao:['male','shu',4,['nsjianglie']],
|
||||||
|
yj_caoang:['male','wei',4,['yjxuepin']],
|
||||||
|
diy_wenyang:['male','wei','4/6',['lvli','choujue']],
|
||||||
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
|
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
|
||||||
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
|
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
|
||||||
diy_feishi:['male','shu',3,['nsshuaiyan','moshou']],
|
diy_feishi:['male','shu',3,['nsshuaiyan','moshou']],
|
||||||
|
@ -170,7 +172,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
diy_fakenews:["diy_wenyang","ns_zhangwei","ns_caimao"],
|
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_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_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"],
|
diy_yongjian:["ns_chendao","yj_caoang","ns_jiaxu"],
|
||||||
diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang'],
|
diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -3406,7 +3408,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
event.bool=player.inRange(trigger.player);
|
event.bool=player.inRange(trigger.player);
|
||||||
player.addTempSkill('tomoya_wangjin_'+event.bool,{global:'roundStart'});
|
player.addTempSkill('tomoya_wangjin_'+event.bool,'roundStart');
|
||||||
if(event.bool){
|
if(event.bool){
|
||||||
trigger.player.draw();
|
trigger.player.draw();
|
||||||
}
|
}
|
||||||
|
@ -4298,12 +4300,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
inari_baiwei:{
|
inari_baiwei:{
|
||||||
enable:'chooseToUse',
|
enable:['chooseToUse','chooseToRespond'],
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.type=='wuxie'||!player.countCards('he',{suit:'diamond'})) return false;
|
if(event.type=='wuxie'||!player.countCards('he',{suit:'diamond'})) return false;
|
||||||
for(var i=0;i<lib.inpile.length;i++){
|
for(var i=0;i<lib.inpile.length;i++){
|
||||||
var name=lib.inpile[i];
|
var name=lib.inpile[i];
|
||||||
if(name!='du'&&get.type(name)=='basic'&&event.filterCard({name:name},player,event)) return true;
|
if(name!='du'&&name!='shan'&&get.type(name)=='basic'&&event.filterCard({name:name},player,event)) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
@ -4312,7 +4314,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var list=[];
|
var list=[];
|
||||||
for(var i=0;i<lib.inpile.length;i++){
|
for(var i=0;i<lib.inpile.length;i++){
|
||||||
var name=lib.inpile[i];
|
var name=lib.inpile[i];
|
||||||
if(name=='du') continue;
|
if(name=='du'||name=='shan') continue;
|
||||||
if(name=='sha'){
|
if(name=='sha'){
|
||||||
list.addArray([
|
list.addArray([
|
||||||
['基本','','sha'],
|
['基本','','sha'],
|
||||||
|
@ -4352,7 +4354,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
prompt:function(links,player){
|
prompt:function(links,player){
|
||||||
return '将一张♦牌当做'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'使用';
|
return '将一张♦牌当做'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'使用或打出';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -4375,15 +4377,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player:1,
|
player:1,
|
||||||
},
|
},
|
||||||
save:true,
|
save:true,
|
||||||
|
respondSha:true,
|
||||||
skillTagFilter:function(player){
|
skillTagFilter:function(player){
|
||||||
return player.countCards('he',{suit:'diamond'})>0;
|
return player.countCards('he',{suit:'diamond'})>0;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
group:['inari_baiwei_sha','inari_baiwei_shan','inari_baiwei_draw'],
|
group:['inari_baiwei_shan','inari_baiwei_draw'],
|
||||||
},
|
},
|
||||||
inari_baiwei_shan:{
|
inari_baiwei_shan:{
|
||||||
prompt:'将一张♦牌当做闪打出',
|
prompt:'将一张♦牌当做闪使用或打出',
|
||||||
enable:'chooseToRespond',
|
enable:['chooseToRespond','chooseToUse'],
|
||||||
viewAs:{name:'shan'},
|
viewAs:{name:'shan'},
|
||||||
selectCard:1,
|
selectCard:1,
|
||||||
filterCard:{suit:'diamond'},
|
filterCard:{suit:'diamond'},
|
||||||
|
@ -4393,7 +4396,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
position:'he',
|
position:'he',
|
||||||
ai:{
|
ai:{
|
||||||
order:1,
|
order:10,
|
||||||
result:{player:1},
|
result:{player:1},
|
||||||
respondShan:true,
|
respondShan:true,
|
||||||
skillTagFilter:function(player){
|
skillTagFilter:function(player){
|
||||||
|
@ -4401,26 +4404,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
inari_baiwei_sha:{
|
|
||||||
prompt:'将一张♦牌当做杀打出',
|
|
||||||
enable:'chooseToRespond',
|
|
||||||
viewAs:{name:'sha'},
|
|
||||||
selectCard:1,
|
|
||||||
filterCard:{suit:'diamond'},
|
|
||||||
popname:true,
|
|
||||||
check:function(card){
|
|
||||||
return 1/Math.max(0.1,get.value(card));
|
|
||||||
},
|
|
||||||
position:'he',
|
|
||||||
ai:{
|
|
||||||
order:1,
|
|
||||||
result:{player:1},
|
|
||||||
respondSha:true,
|
|
||||||
skillTagFilter:function(player){
|
|
||||||
return player.countCards('he',{suit:'diamond'})>0;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
inari_baiwei_draw:{
|
inari_baiwei_draw:{
|
||||||
trigger:{player:['useCardAfter','respondAfter']},
|
trigger:{player:['useCardAfter','respondAfter']},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
@ -5289,8 +5272,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
nsxuezhu:{
|
nsxuezhu:{
|
||||||
trigger:{player:'damageEnd',source:'damageSource'},
|
trigger:{player:'damageEnd',source:'damageSource'},
|
||||||
filter:function(event,player){return event.player.isAlive()},
|
filter:function(event,player){
|
||||||
content:function(){trigger.player.draw(2);trigger.player.turnOver();},
|
return event.player.isAlive();
|
||||||
|
},
|
||||||
|
logTarget:'player',
|
||||||
|
content:function(){
|
||||||
|
trigger.player.draw(2);
|
||||||
|
trigger.player.turnOver();
|
||||||
|
},
|
||||||
|
check:function(event,player){
|
||||||
|
return !event.player.isTurnedOver()||get.attitude(player,event.player)>0;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
yukine_wenzhou:{
|
yukine_wenzhou:{
|
||||||
trigger:{global:'phaseUseBegin'},
|
trigger:{global:'phaseUseBegin'},
|
||||||
|
@ -6372,6 +6364,92 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
nsyice:{
|
||||||
|
trigger:{
|
||||||
|
player:'loseAfter',
|
||||||
|
global:'cardsDiscardAfter',
|
||||||
|
},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(event.name=='lose'){
|
||||||
|
if(event.type!='discard') return false;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
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;
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
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');
|
||||||
|
player.$gain2(cards);
|
||||||
|
if(cards.length==1) event._result={bool:true,links:cards};
|
||||||
|
else{
|
||||||
|
var dialog=['遗策:选择要放置的卡牌','<div class="text center">(从左到右为从旧到新,后选择的后置入)</div>',cards];
|
||||||
|
var cards2=player.getStorage('nsyice');
|
||||||
|
if(cards2.length){
|
||||||
|
dialog.push('<div class="text center">原有“策”</div>');
|
||||||
|
dialog.push(cards2);
|
||||||
|
}
|
||||||
|
player.chooseButton(dialog,true,cards.length).set('filterButton',function(button){
|
||||||
|
return _status.event.cards.contains(button.link);
|
||||||
|
}).set('cards',cards);
|
||||||
|
}
|
||||||
|
'step 2'
|
||||||
|
game.cardsGotoSpecial(result.links);
|
||||||
|
player.markAuto('nsyice',result.links);
|
||||||
|
game.delayx();
|
||||||
|
'step 3'
|
||||||
|
var storage=player.storage.nsyice;
|
||||||
|
var bool=false;
|
||||||
|
for(var i=0;i<storage.length;i++){
|
||||||
|
for(var j=storage.length-1;j>i;j--){
|
||||||
|
if(get.number(storage[i])==get.number(storage[j])){
|
||||||
|
bool=true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(bool) break;
|
||||||
|
}
|
||||||
|
if(bool){
|
||||||
|
event.cards=storage.slice(0);
|
||||||
|
event.cards=storage.splice(i,j-i+1);
|
||||||
|
player.unmarkAuto('nsyice',event.cards);
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 4'
|
||||||
|
var cardsx=[];
|
||||||
|
cardsx.push(cards.shift());
|
||||||
|
cardsx.push(cards.pop());
|
||||||
|
if(cards.length) player.gain(cards,'gain2');
|
||||||
|
event.cards=cardsx;
|
||||||
|
'step 5'
|
||||||
|
player.chooseButton(['将一张牌置于牌堆顶,将另一张牌置于牌堆底',cards],true);
|
||||||
|
'step 6'
|
||||||
|
ui.cardPile.insertBefore(result.links[0].fix(),ui.cardPile.firstChild);
|
||||||
|
cards.remove(result.links[0]);
|
||||||
|
ui.cardPile.appendChild(cards[0].fix());
|
||||||
|
game.updateRoundNumber();
|
||||||
|
if(_status.dying.length) event.finish();
|
||||||
|
'step 7'
|
||||||
|
player.chooseTarget('对一名角色造成1点伤害',true).set('ai',function(target){
|
||||||
|
var player=_status.event.player;
|
||||||
|
return get.damageEffect(target,player,player);
|
||||||
|
});
|
||||||
|
'step 8'
|
||||||
|
if(result.bool){
|
||||||
|
var target=result.targets[0];
|
||||||
|
player.line(target);
|
||||||
|
target.damage('nocard');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
marktext:'策',
|
||||||
|
intro:{content:'cards'},
|
||||||
|
},
|
||||||
junktaoluan:{
|
junktaoluan:{
|
||||||
audio:'taoluan',
|
audio:'taoluan',
|
||||||
enable:'chooseToUse',
|
enable:'chooseToUse',
|
||||||
|
@ -12080,10 +12158,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ns_caimao:'蔡瑁',
|
ns_caimao:'蔡瑁',
|
||||||
nsdingzhou:'定州',
|
nsdingzhou:'定州',
|
||||||
nsdingzhou_info:'出牌阶段限一次,你可以选择一名区域内有牌的其他角色。你随机获得其区域内的一张牌,然后摸一张牌。若你以此法获得了两张颜色不同的牌,则你失去1点体力。',
|
nsdingzhou_info:'出牌阶段限一次,你可以选择一名区域内有牌的其他角色。你随机获得其区域内的一张牌,然后摸一张牌。若你以此法获得了两张颜色不同的牌,则你失去1点体力。',
|
||||||
|
ns_jiaxu:'贾诩',
|
||||||
|
nsyice:'遗策',
|
||||||
|
nsyice_info:'锁定技,当你使用/打出/弃置的牌进入弃牌堆后,你将这些牌以任意顺序置于你的武将牌上,称为“策”。若这些“策”中有点数相同的牌,则你获得这两张牌中的所有牌,将这两张牌置于牌堆两端。若场上没有处于濒死状态的角色,则你对一名角色造成1点伤害。',
|
||||||
diy_tieba:'吧友设计',
|
diy_tieba:'吧友设计',
|
||||||
diy_default:'常规',
|
diy_default:'常规',
|
||||||
diy_key:'论外',
|
diy_key:'论外',
|
||||||
diy_yongjian:'用间篇',
|
diy_yongjian:'其他官方武将',
|
||||||
diy_yijiang:'设计比赛2020',
|
diy_yijiang:'设计比赛2020',
|
||||||
diy_fakenews:'假新闻',
|
diy_fakenews:'假新闻',
|
||||||
diy_trashbin:'垃圾桶',
|
diy_trashbin:'垃圾桶',
|
||||||
|
|
|
@ -943,6 +943,7 @@ window.noname_character_rank={
|
||||||
'ns_huangchengyan',
|
'ns_huangchengyan',
|
||||||
'ns_sunchensunjun',
|
'ns_sunchensunjun',
|
||||||
'ns_yuanxi',
|
'ns_yuanxi',
|
||||||
|
'ns_jiaxu',
|
||||||
'key_haruko',
|
'key_haruko',
|
||||||
'key_akiko',
|
'key_akiko',
|
||||||
'key_sunohara',
|
'key_sunohara',
|
||||||
|
|
|
@ -9,8 +9,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","ol_pangtong","ol_yuanshao","ol_pangde","re_taishici"],
|
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','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo'],
|
refresh_lin:['re_zhurong','re_menghuo','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo'],
|
||||||
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai'],
|
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai'],
|
||||||
refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_lingtong','re_masu','xin_xusheng','xin_fazheng'],
|
refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_lingtong','re_masu','xin_xusheng','xin_fazheng','xin_lingtong'],
|
||||||
refresh_yijiang2:['old_madai','wangyi','guanzhang','re_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_liubiao','re_bulianshi','xin_lingtong'],
|
refresh_yijiang2:['old_madai','wangyi','guanzhang','re_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_liubiao','re_bulianshi','xin_liubiao'],
|
||||||
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','re_yufan','re_liru','re_manchong'],
|
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','re_yufan','re_liru','re_manchong'],
|
||||||
refresh_yijiang4:['re_sunluban','re_wuyi','re_hanhaoshihuan'],
|
refresh_yijiang4:['re_sunluban','re_wuyi','re_hanhaoshihuan'],
|
||||||
refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu'],
|
refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu'],
|
||||||
|
@ -19,6 +19,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
connect:true,
|
connect:true,
|
||||||
character:{
|
character:{
|
||||||
xin_lingtong:['male','wu',4,['decadexuanfeng','yongjin'],['unseen']],
|
xin_lingtong:['male','wu',4,['decadexuanfeng','yongjin'],['unseen']],
|
||||||
|
xin_liubiao:['male','qun',3,['decadezishou','decadezongshi'],['unseen']],
|
||||||
re_caoxiu:['male','wei',4,['qianju','reqingxi']],
|
re_caoxiu:['male','wei',4,['qianju','reqingxi']],
|
||||||
re_sunxiu:['male','wu',3,['reyanzhu','rexingxue','zhaofu'],['zhu']],
|
re_sunxiu:['male','wu',3,['reyanzhu','rexingxue','zhaofu'],['zhu']],
|
||||||
ol_dengai:['male','wei',4,['oltuntian','olzaoxian'],['unseen']],
|
ol_dengai:['male','wei',4,['oltuntian','olzaoxian'],['unseen']],
|
||||||
|
@ -128,6 +129,71 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
sunben:['zhouyu','taishici','daqiao'],
|
sunben:['zhouyu','taishici','daqiao'],
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
decadezongshi:{
|
||||||
|
audio:2,
|
||||||
|
mod:{
|
||||||
|
maxHandcard:function(player,num){
|
||||||
|
return num+game.countGroup();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
trigger:{target:'useCardToTargeted'},
|
||||||
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player!=_status.currentPhase&&player.countCards('h')>player.getHandcardLimit()&&
|
||||||
|
(get.type(event.card)=='delay'||get.color(event.card)=='nocolor');
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.excluded.add(player);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target){
|
||||||
|
if(target!=_status.currentPhase&&target.countCards('h')>target.getHandcardLimit()&&
|
||||||
|
(get.type(card)=='delay'||get.color(card)=='nocolor')) return 'zerotarget';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
decadezishou:{
|
||||||
|
audio:2,
|
||||||
|
inherit:'rezishou',
|
||||||
|
group:'decadezishou_zhiheng',
|
||||||
|
ai:{
|
||||||
|
threaten:1.8,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
decadezishou_zhiheng:{
|
||||||
|
trigger:{player:'phaseJieshuBegin'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.countCards('h')>0&&!player.getHistory('useCard',function(evt){
|
||||||
|
return evt.targets.filter(function(target){
|
||||||
|
return target!=player;
|
||||||
|
}).length>0;
|
||||||
|
}).length;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var list=[];
|
||||||
|
var hs=player.getCards('h');
|
||||||
|
for(var i of hs){
|
||||||
|
list.add(get.suit(i,player));
|
||||||
|
}
|
||||||
|
player.chooseToDiscard('h',get.prompt('decadezishou'),'弃置任意张花色不同的手牌并摸等量的牌',[1,list.length],function(card,player){
|
||||||
|
if(ui.selected.cards.length){
|
||||||
|
var suit=get.suit(card,player);
|
||||||
|
for(var i of ui.selected.cards){
|
||||||
|
if(get.suit(i,player)==suit) return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}).set('ai',lib.skill.zhiheng.check).set('complexCard',true).logSkill='decadezishou';
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
player.draw(result.cards.length);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
yongjin:{
|
yongjin:{
|
||||||
unique:true,
|
unique:true,
|
||||||
limited:true,
|
limited:true,
|
||||||
|
@ -211,7 +277,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var i;
|
var i;
|
||||||
var att2=get.sgn(get.attitude(player,ui.selected.targets[0]));
|
var att2=get.sgn(get.attitude(player,ui.selected.targets[0]));
|
||||||
for(i=0;i<es.length;i++){
|
for(i=0;i<es.length;i++){
|
||||||
if(sgnatt!=0&&att2!=0&&
|
if(sgnatt!=0&&att2!=0&&sgnatt!=att2&&
|
||||||
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
||||||
get.sgn(get.effect(target,es[i],player,target))==sgnatt&&
|
get.sgn(get.effect(target,es[i],player,target))==sgnatt&&
|
||||||
target.isEmpty(get.subtype(es[i]))){
|
target.isEmpty(get.subtype(es[i]))){
|
||||||
|
@ -248,7 +314,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return get.equipValue(button.link)*get.effect(targets1,button.link,player,targets1);
|
return get.value(button.link)*get.effect(targets1,button.link,player,player);
|
||||||
}
|
}
|
||||||
},targets[0]).set('nojudge',event.nojudge||false).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
},targets[0]).set('nojudge',event.nojudge||false).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
||||||
if(_status.event.cards.contains(button.link)) return false;
|
if(_status.event.cards.contains(button.link)) return false;
|
||||||
|
@ -1776,7 +1842,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(att>0){
|
if(att>0){
|
||||||
if(target.countCards('e',function(card){
|
if(target.countCards('e',function(card){
|
||||||
return get.value(card,target)<0&&game.hasPlayer(function(current){
|
return get.value(card,target)<0&&game.hasPlayer(function(current){
|
||||||
return current!=player&¤t!=target&&get.attitude(player,current)<0&¤t.isEmpty(get.subtype(card))
|
return current!=player&¤t!=target&&get.attitude(player,current)<0&¤t.isEmpty(get.subtype(card))&&get.effect(current,card,player,player)>0;
|
||||||
});
|
});
|
||||||
})>0) return 9;
|
})>0) return 9;
|
||||||
}
|
}
|
||||||
|
@ -1785,7 +1851,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(current!=target&¤t!=player&&get.attitude(player,current)>0){
|
if(current!=target&¤t!=player&&get.attitude(player,current)>0){
|
||||||
var es=target.getCards('e');
|
var es=target.getCards('e');
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(get.value(es[i],target)>0&¤t.isEmpty(get.subtype(es[i]))&&get.value(es[i],current)>0) return true;
|
if(get.value(es[i],target)>0&¤t.isEmpty(get.subtype(es[i]))&&get.effect(current,es[i],player,player)>0) return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})){
|
})){
|
||||||
|
@ -1798,7 +1864,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var i;
|
var i;
|
||||||
var att2=get.sgn(get.attitude(player,ui.selected.targets[0]));
|
var att2=get.sgn(get.attitude(player,ui.selected.targets[0]));
|
||||||
for(i=0;i<es.length;i++){
|
for(i=0;i<es.length;i++){
|
||||||
if(sgnatt!=0&&att2!=0&&
|
if(sgnatt!=0&&att2!=0&&sgnatt!=att2&&
|
||||||
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
||||||
get.sgn(get.value(es[i],target))==sgnatt&&
|
get.sgn(get.value(es[i],target))==sgnatt&&
|
||||||
target.isEmpty(get.subtype(es[i]))){
|
target.isEmpty(get.subtype(es[i]))){
|
||||||
|
@ -1831,11 +1897,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var targets0=_status.event.targets0;
|
var targets0=_status.event.targets0;
|
||||||
var targets1=_status.event.targets1;
|
var targets1=_status.event.targets1;
|
||||||
if(get.attitude(player,targets0)>get.attitude(player,targets1)){
|
if(get.attitude(player,targets0)>get.attitude(player,targets1)){
|
||||||
if(get.value(button.link,targets0)<0) return 10;
|
if(get.value(button.link,targets0)<0) return get.effect(targets1,button.link,player,player);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return get.equipValue(button.link);
|
return get.value(button.link,targets0)*get.effect(targets1,button.link,player,player);
|
||||||
}
|
}
|
||||||
},targets[0]).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
},targets[0]).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
||||||
var targets1=_status.event.targets1;
|
var targets1=_status.event.targets1;
|
||||||
|
@ -1866,7 +1932,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(withatt){
|
if(withatt){
|
||||||
if(get.sgn(get.value(es[i],current))!=-att) return false;
|
if(get.sgn(get.value(es[i],current))!=-att) return false;
|
||||||
var att2=get.sgn(get.attitude(player,current2));
|
var att2=get.sgn(get.attitude(player,current2));
|
||||||
if(att2!=get.sgn(get.value(es[i],current2))) return false;
|
if(att==att2||att2!=get.sgn(get.value(es[i],current2))) return false;
|
||||||
}
|
}
|
||||||
return current!=current2&&!current2.isMin()&¤t2.isEmpty(get.subtype(es[i]));
|
return current!=current2&&!current2.isMin()&¤t2.isEmpty(get.subtype(es[i]));
|
||||||
})){
|
})){
|
||||||
|
@ -3261,7 +3327,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
usable:1,
|
//usable:1,
|
||||||
prompt:'请选择〖制霸〗的目标',
|
prompt:'请选择〖制霸〗的目标',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(player.hasZhuSkill('olzhiba')&&!player.hasSkill('olzhiba3')&&game.hasPlayer(function(current){
|
if(player.hasZhuSkill('olzhiba')&&!player.hasSkill('olzhiba3')&&game.hasPlayer(function(current){
|
||||||
|
@ -3653,10 +3719,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
reguhuo:{
|
reguhuo:{
|
||||||
audio:2,
|
audio:2,
|
||||||
derivation:'rechanyuan',
|
derivation:'rechanyuan',
|
||||||
enable:'chooseToUse',
|
enable:['chooseToUse','chooseToRespond'],
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.countCards('h')>0&&!player.hasSkill('reguhuo_phase')&&
|
if(!player.countCards('h')||player.hasSkill('reguhuo_phase')) return false;
|
||||||
event.type!='respondShan'&&event.type!='wuxie';
|
for(var i of lib.inpile){
|
||||||
|
if(i=='shan'||i=='wuxie') continue;
|
||||||
|
var type=get.type(i);
|
||||||
|
if((type=='basic'||type=='trick')&&event.filterCard({name:i},player,event)) return true;
|
||||||
|
if(i=='sha'&&(event.filterCard({name:i,nature:'fire'},player,event)||event.filterCard({name:i,nature:'thunder'},player,event))) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
chooseButton:{
|
chooseButton:{
|
||||||
dialog:function(){
|
dialog:function(){
|
||||||
|
@ -3682,7 +3754,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return current!=player&&!current.hasSkill('rechanyuan')&&(get.realAttitude||get.attitude)(current,player)<0;
|
return current!=player&&!current.hasSkill('rechanyuan')&&(get.realAttitude||get.attitude)(current,player)<0;
|
||||||
});
|
});
|
||||||
var card={name:button.link[2],nature:button.link[3]};
|
var card={name:button.link[2],nature:button.link[3]};
|
||||||
var val=player.getUseValue(card);
|
var val=_status.event.getParent().type=='phase'?player.getUseValue(card):1;
|
||||||
if(val<=0) return 0;
|
if(val<=0) return 0;
|
||||||
if(hasEnemy){
|
if(hasEnemy){
|
||||||
if(!player.countCards('h',function(cardx){
|
if(!player.countCards('h',function(cardx){
|
||||||
|
@ -3736,36 +3808,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player:1,
|
player:1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
group:['reguhuo_sha','reguhuo_shan','reguhuo_wuxie','reguhuo_guess'],
|
group:['reguhuo_shan','reguhuo_wuxie','reguhuo_guess'],
|
||||||
},
|
|
||||||
reguhuo_sha:{
|
|
||||||
enable:'chooseToRespond',
|
|
||||||
viewAs:{
|
|
||||||
name:'sha',
|
|
||||||
suit:'none',
|
|
||||||
number:null,
|
|
||||||
},
|
|
||||||
viewAsFilter:function(player){
|
|
||||||
return player.countCards('h')&&!player.hasSkill('reguhuo_phase');
|
|
||||||
},
|
|
||||||
check:function(card){
|
|
||||||
var player=_status.event.player;
|
|
||||||
var hasEnemy=game.hasPlayer(function(current){
|
|
||||||
return current!=player&&!current.hasSkill('rechanyuan')&&(get.realAttitude||get.attitude)(current,player)<0;
|
|
||||||
});
|
|
||||||
var cardx='sha';
|
|
||||||
if(hasEnemy){
|
|
||||||
if(card.name==cardx) return 10;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return 6-get.value(card);
|
|
||||||
},
|
|
||||||
prompt:'将一张牌当做【杀】打出',
|
|
||||||
filterCard:true,
|
|
||||||
position:'h',
|
|
||||||
ai:{
|
|
||||||
order:4,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
reguhuo_shan:{
|
reguhuo_shan:{
|
||||||
enable:['chooseToUse','chooseToRespond'],
|
enable:['chooseToUse','chooseToRespond'],
|
||||||
|
@ -3841,7 +3884,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.addTempSkill('reguhuo_phase');
|
player.addTempSkill('reguhuo_phase');
|
||||||
event.fake=false;
|
event.fake=false;
|
||||||
var card=trigger.cards[0];
|
var card=trigger.cards[0];
|
||||||
if(card.name!=trigger.card.name||(trigger.name!='respond'&&card.name=='sha'&&(trigger.card.nature||card.nature)&&trigger.card.nature!=card.nature)) event.fake=true;
|
if(card.name!=trigger.card.name||(card.name=='sha'&&(trigger.card.nature||card.nature)&&trigger.card.nature!=card.nature)) event.fake=true;
|
||||||
player.logSkill('reguhuo');
|
player.logSkill('reguhuo');
|
||||||
player.line(trigger.targets,get.nature(trigger.card));
|
player.line(trigger.targets,get.nature(trigger.card));
|
||||||
event.cardTranslate=get.translation(trigger.card.name);
|
event.cardTranslate=get.translation(trigger.card.name);
|
||||||
|
@ -8264,9 +8307,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
re_caoxiu:'界曹休',
|
re_caoxiu:'界曹休',
|
||||||
xin_lingtong:'界凌统',
|
xin_lingtong:'界凌统',
|
||||||
decadexuanfeng:'旋风',
|
decadexuanfeng:'旋风',
|
||||||
decadexuanfeng_info:'当你于弃牌阶段弃置过至少两张牌,或当你失去装备区里的牌后,你可以弃置至多两名其他角色的共计两张牌。若此时是你的回合内,你可以对其中一个目标造成1点伤害。',
|
decadexuanfeng_info:'当你于弃牌阶段弃置过至少两张牌,或当你失去装备区里的牌后,你可以弃置至多两名其他角色的共计两张牌。若此时是你的回合内,你可以对其中一名目标造成1点伤害。',
|
||||||
yongjin:'勇进',
|
yongjin:'勇进',
|
||||||
yongjin_info:'限定技,出牌阶段,你可以依次移动场上的至多三张不同的装备牌。',
|
yongjin_info:'限定技,出牌阶段,你可以依次移动场上的至多三张不同的装备牌。',
|
||||||
|
xin_liubiao:'界刘表',
|
||||||
|
decadezishou:'自守',
|
||||||
|
decadezishou_zhiheng:'自守',
|
||||||
|
decadezishou_info:'摸牌阶段,你可以多摸X张牌,然后本回合你对其他角色造成伤害时,防止此伤害。结束阶段,若你本回合没有使用牌指定其他角色为目标,你可以弃置任意张花色不同的手牌,然后摸等量的牌。',
|
||||||
|
decadezongshi:'宗室',
|
||||||
|
decadezongshi_info:'锁定技,你的手牌上限+X(X为现存势力数)。你的回合外,若你的手牌数大于等于手牌上限,延时类锦囊牌或无颜色的牌对你无效。',
|
||||||
|
|
||||||
refresh_standard:'界限突破·标',
|
refresh_standard:'界限突破·标',
|
||||||
refresh_feng:'界限突破·风',
|
refresh_feng:'界限突破·风',
|
||||||
|
|
414
character/sp.js
|
@ -588,12 +588,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.addSkillLog(result.control);
|
player.addSkillLog(result.control);
|
||||||
game.broadcastAll(function(skill){
|
game.broadcastAll(function(skill){
|
||||||
var list=[skill];game.expandSkills(list);
|
var list=[skill];game.expandSkills(list);
|
||||||
for(var i of list){
|
for(var i of list){
|
||||||
var info=lib.skill[i];
|
var info=lib.skill[i];
|
||||||
if(!info) continue;
|
if(!info) continue;
|
||||||
if(!info.audioname2) info.audioname2={};
|
if(!info.audioname2) info.audioname2={};
|
||||||
info.audioname2.caoshuang='tuogu';
|
info.audioname2.caoshuang='tuogu';
|
||||||
}
|
}
|
||||||
},result.control);
|
},result.control);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -625,12 +625,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
game.broadcastAll(function(skill){
|
game.broadcastAll(function(skill){
|
||||||
var list=[skill];
|
var list=[skill];
|
||||||
game.expandSkills(list);
|
game.expandSkills(list);
|
||||||
for(var i of list){
|
for(var i of list){
|
||||||
var info=lib.skill[i];
|
var info=lib.skill[i];
|
||||||
if(!info) continue;
|
if(!info) continue;
|
||||||
if(!info.audioname2) info.audioname2={};
|
if(!info.audioname2) info.audioname2={};
|
||||||
info.audioname2.caoshuang='tuogu';
|
info.audioname2.caoshuang='tuogu';
|
||||||
}
|
}
|
||||||
},result.control);
|
},result.control);
|
||||||
},
|
},
|
||||||
mark:true,
|
mark:true,
|
||||||
|
@ -783,11 +783,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
if(trigger.name=='lose'){
|
if(trigger.name=='lose'){
|
||||||
for(var i of trigger.cards2){
|
for(var i of trigger.cards2){
|
||||||
if(player.getStorage('zlshoufu2').filter(function(magic){
|
if(player.getStorage('zlshoufu2').filter(function(magic){
|
||||||
return get.type2(magic)==get.type(i,trigger.hs.contains(i)?player:false);
|
return get.type2(magic)==get.type(i,trigger.hs.contains(i)?player:false);
|
||||||
}).length) player.storage.zlshoufu2_markcount++;
|
}).length) player.storage.zlshoufu2_markcount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(trigger.name=='damage'||player.storage.zlshoufu2_markcount>=2) player.unmarkSkill('zlshoufu2');
|
if(trigger.name=='damage'||player.storage.zlshoufu2_markcount>=2) player.unmarkSkill('zlshoufu2');
|
||||||
else player.markSkill('zlshoufu2');
|
else player.markSkill('zlshoufu2');
|
||||||
|
@ -845,9 +845,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
});
|
});
|
||||||
if(card){
|
if(card){
|
||||||
if(card.name=='qinggang'&&!lib.inpile.contains('qibaodao')){
|
if(card.name=='qinggang'&&!lib.inpile.contains('qibaodao')){
|
||||||
card.remove();
|
card.remove();
|
||||||
card=game.createCard('qibaodao',card.suit,card.number);
|
card=game.createCard('qibaodao',card.suit,card.number);
|
||||||
}
|
}
|
||||||
targets[0].chooseUseTarget(card,true,'nopopup','nothrow');
|
targets[0].chooseUseTarget(card,true,'nopopup','nothrow');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -2139,28 +2139,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
gzjili:{
|
gzjili:{
|
||||||
mod:{
|
mod:{
|
||||||
aiOrder:function(player,card,num){
|
aiOrder:function(player,card,num){
|
||||||
if(player.isPhaseUsing()&&get.subtype(card)=='equip1'&&!get.cardtag(card,'gifts')){
|
if(player.isPhaseUsing()&&get.subtype(card)=='equip1'&&!get.cardtag(card,'gifts')){
|
||||||
var range0=player.getAttackRange();
|
var range0=player.getAttackRange();
|
||||||
var range=0;
|
var range=0;
|
||||||
var info=get.info(card);
|
var info=get.info(card);
|
||||||
if(info&&info.distance&&info.distance.attackFrom){
|
if(info&&info.distance&&info.distance.attackFrom){
|
||||||
range-=info.distance.attackFrom;
|
range-=info.distance.attackFrom;
|
||||||
}
|
}
|
||||||
if(player.getEquip(1)){
|
if(player.getEquip(1)){
|
||||||
var num=0;
|
var num=0;
|
||||||
var info=get.info(player.getEquip(1));
|
var info=get.info(player.getEquip(1));
|
||||||
if(info&&info.distance&&info.distance.attackFrom){
|
if(info&&info.distance&&info.distance.attackFrom){
|
||||||
num-=info.distance.attackFrom;
|
num-=info.distance.attackFrom;
|
||||||
}
|
}
|
||||||
range0-=num;
|
range0-=num;
|
||||||
}
|
}
|
||||||
range0+=range;
|
range0+=range;
|
||||||
if(range0==(player.getHistory('useCard').length+player.getHistory('respond').length+2)&&player.countCards('h',function(cardx){
|
if(range0==(player.getHistory('useCard').length+player.getHistory('respond').length+2)&&player.countCards('h',function(cardx){
|
||||||
return get.subtype(cardx)!='equip1'&&player.getUseValue(cardx)>0;
|
return get.subtype(cardx)!='equip1'&&player.getUseValue(cardx)>0;
|
||||||
})) return num+10;
|
})) return num+10;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
trigger:{player:['useCard','respond']},
|
trigger:{player:['useCard','respond']},
|
||||||
frequent:true,
|
frequent:true,
|
||||||
|
@ -2176,31 +2176,31 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
threaten:1.8,
|
threaten:1.8,
|
||||||
effect:{
|
effect:{
|
||||||
target:function(card,player,target,current){
|
target:function(card,player,target,current){
|
||||||
if(player!=target||!player.isPhaseUsing()) return;
|
if(player!=target||!player.isPhaseUsing()) return;
|
||||||
if(get.subtype(card)=='equip1'&&!get.cardtag(card,'gifts')){
|
if(get.subtype(card)=='equip1'&&!get.cardtag(card,'gifts')){
|
||||||
var range0=player.getAttackRange();
|
var range0=player.getAttackRange();
|
||||||
var range=0;
|
var range=0;
|
||||||
var info=get.info(card);
|
var info=get.info(card);
|
||||||
if(info&&info.distance&&info.distance.attackFrom){
|
if(info&&info.distance&&info.distance.attackFrom){
|
||||||
range-=info.distance.attackFrom;
|
range-=info.distance.attackFrom;
|
||||||
}
|
}
|
||||||
if(player.getEquip(1)){
|
if(player.getEquip(1)){
|
||||||
var num=0;
|
var num=0;
|
||||||
var info=get.info(player.getEquip(1));
|
var info=get.info(player.getEquip(1));
|
||||||
if(info&&info.distance&&info.distance.attackFrom){
|
if(info&&info.distance&&info.distance.attackFrom){
|
||||||
num-=info.distance.attackFrom;
|
num-=info.distance.attackFrom;
|
||||||
}
|
}
|
||||||
range0-=num;
|
range0-=num;
|
||||||
}
|
}
|
||||||
range0+=range;
|
range0+=range;
|
||||||
var delta=range0-(player.getHistory('useCard').length+player.getHistory('respond').length);
|
var delta=range0-(player.getHistory('useCard').length+player.getHistory('respond').length);
|
||||||
if(delta<0) return;
|
if(delta<0) return;
|
||||||
var num=player.countCards('h',function(card){
|
var num=player.countCards('h',function(card){
|
||||||
return (get.cardtag(card,'gifts')||get.subtype(card)!='equip1')&&player.getUseValue(card)>0;
|
return (get.cardtag(card,'gifts')||get.subtype(card)!='equip1')&&player.getUseValue(card)>0;
|
||||||
});
|
});
|
||||||
if(delta==2&&num>0) return [1,3];
|
if(delta==2&&num>0) return [1,3];
|
||||||
if(num>=delta) return 'zeroplayertarget';
|
if(num>=delta) return 'zeroplayertarget';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -5266,16 +5266,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
for(var i of map.skills) player.addSkillLog(i);
|
for(var i of map.skills) player.addSkillLog(i);
|
||||||
}
|
}
|
||||||
game.broadcastAll(function(list){
|
game.broadcastAll(function(list){
|
||||||
game.expandSkills(list);
|
game.expandSkills(list);
|
||||||
for(var i of list){
|
for(var i of list){
|
||||||
var info=lib.skill[i];
|
var info=lib.skill[i];
|
||||||
if(!info) continue;
|
if(!info) continue;
|
||||||
if(!info.audioname2) info.audioname2={};
|
if(!info.audioname2) info.audioname2={};
|
||||||
info.audioname2.old_yuanshu='weidi';
|
info.audioname2.old_yuanshu='weidi';
|
||||||
}
|
}
|
||||||
},map.skills);
|
},map.skills);
|
||||||
'step 3'
|
'step 3'
|
||||||
if(player.isMinHp()) player.recover();
|
if(player.isMinHp()) player.recover();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
refanghun:{
|
refanghun:{
|
||||||
|
@ -5321,94 +5321,94 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
sha:{
|
sha:{
|
||||||
audio:'fanghun',
|
audio:'fanghun',
|
||||||
enable:['chooseToUse','chooseToRespond'],
|
enable:['chooseToUse','chooseToRespond'],
|
||||||
prompt:'弃置一枚【梅影】标记,将杀当做闪,或将闪当做杀,或将桃当做酒,或将酒当做桃使用或打出',
|
prompt:'弃置一枚【梅影】标记,将杀当做闪,或将闪当做杀,或将桃当做酒,或将酒当做桃使用或打出',
|
||||||
viewAs:function(cards,player){
|
viewAs:function(cards,player){
|
||||||
var name=false;
|
var name=false;
|
||||||
switch(get.name(cards[0],player)){
|
switch(get.name(cards[0],player)){
|
||||||
case 'sha':name='shan';break;
|
case 'sha':name='shan';break;
|
||||||
case 'shan':name='sha';break;
|
case 'shan':name='sha';break;
|
||||||
case 'tao':name='jiu';break;
|
case 'tao':name='jiu';break;
|
||||||
case 'jiu':name='tao';break;
|
case 'jiu':name='tao';break;
|
||||||
}
|
}
|
||||||
if(name) return {name:name};
|
if(name) return {name:name};
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
check:function(card){
|
check:function(card){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
if(_status.event.type=='phase'){
|
if(_status.event.type=='phase'){
|
||||||
var max=0;
|
var max=0;
|
||||||
var name2;
|
var name2;
|
||||||
var list=['sha','tao','jiu'];
|
var list=['sha','tao','jiu'];
|
||||||
var map={sha:'shan',tao:'jiu',jiu:'tao'}
|
var map={sha:'shan',tao:'jiu',jiu:'tao'}
|
||||||
for(var i=0;i<list.length;i++){
|
for(var i=0;i<list.length;i++){
|
||||||
var name=list[i];
|
var name=list[i];
|
||||||
if(player.countCards('h',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
if(player.countCards('h',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
||||||
var temp=get.order({name:name});
|
var temp=get.order({name:name});
|
||||||
if(temp>max){
|
if(temp>max){
|
||||||
max=temp;
|
max=temp;
|
||||||
name2=map[name];
|
name2=map[name];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(name2==get.name(card,player)) return 1;
|
if(name2==get.name(card,player)) return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
},
|
},
|
||||||
filterCard:function(card,player,event){
|
filterCard:function(card,player,event){
|
||||||
event=event||_status.event;
|
event=event||_status.event;
|
||||||
var filter=event._backup.filterCard;
|
var filter=event._backup.filterCard;
|
||||||
var name=get.name(card,player);
|
var name=get.name(card,player);
|
||||||
if(name=='sha'&&filter({name:'shan',cards:[card]},player,event)) return true;
|
if(name=='sha'&&filter({name:'shan',cards:[card]},player,event)) return true;
|
||||||
if(name=='shan'&&filter({name:'sha',cards:[card]},player,event)) return true;
|
if(name=='shan'&&filter({name:'sha',cards:[card]},player,event)) return true;
|
||||||
if(name=='tao'&&filter({name:'jiu',cards:[card]},player,event)) return true;
|
if(name=='tao'&&filter({name:'jiu',cards:[card]},player,event)) return true;
|
||||||
if(name=='jiu'&&filter({name:'tao',cards:[card]},player,event)) return true;
|
if(name=='jiu'&&filter({name:'tao',cards:[card]},player,event)) return true;
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(!player.storage.fanghun||player.storage.fanghun<0) return false;
|
if(!player.storage.fanghun||player.storage.fanghun<0) return false;
|
||||||
var filter=event.filterCard;
|
var filter=event.filterCard;
|
||||||
if(filter({name:'sha'},player,event)&&player.countCards('h','shan')) return true;
|
if(filter({name:'sha'},player,event)&&player.countCards('h','shan')) return true;
|
||||||
if(filter({name:'shan'},player,event)&&player.countCards('h','sha')) return true;
|
if(filter({name:'shan'},player,event)&&player.countCards('h','sha')) return true;
|
||||||
if(filter({name:'tao'},player,event)&&player.countCards('h','jiu')) return true;
|
if(filter({name:'tao'},player,event)&&player.countCards('h','jiu')) return true;
|
||||||
if(filter({name:'jiu'},player, event)&&player.countCards('h','tao')) return true;
|
if(filter({name:'jiu'},player, event)&&player.countCards('h','tao')) return true;
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
onrespond:function(){return this.onuse.apply(this,arguments)},
|
onrespond:function(){return this.onuse.apply(this,arguments)},
|
||||||
onuse:function(result,player){
|
onuse:function(result,player){
|
||||||
player.removeMark('fanghun',1);
|
player.removeMark('fanghun',1);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
respondSha:true,
|
respondSha:true,
|
||||||
respondShan:true,
|
respondShan:true,
|
||||||
save:true,
|
save:true,
|
||||||
skillTagFilter:function(player,tag){
|
skillTagFilter:function(player,tag){
|
||||||
if(!player.storage.fanghun||player.storage.fanghun<0) return false;
|
if(!player.storage.fanghun||player.storage.fanghun<0) return false;
|
||||||
var name;
|
var name;
|
||||||
switch(tag){
|
switch(tag){
|
||||||
case 'respondSha':name='shan';break;
|
case 'respondSha':name='shan';break;
|
||||||
case 'respondShan':name='sha';break;
|
case 'respondShan':name='sha';break;
|
||||||
case 'save':name='jiu';break;
|
case 'save':name='jiu';break;
|
||||||
}
|
}
|
||||||
if(!player.countCards('h',name)) return false;
|
if(!player.countCards('h',name)) return false;
|
||||||
},
|
},
|
||||||
order:function(item,player){
|
order:function(item,player){
|
||||||
if(player&&_status.event.type=='phase'){
|
if(player&&_status.event.type=='phase'){
|
||||||
var max=0;
|
var max=0;
|
||||||
var list=['sha','tao','jiu'];
|
var list=['sha','tao','jiu'];
|
||||||
var map={sha:'shan',tao:'jiu',jiu:'tao'}
|
var map={sha:'shan',tao:'jiu',jiu:'tao'}
|
||||||
for(var i=0;i<list.length;i++){
|
for(var i=0;i<list.length;i++){
|
||||||
var name=list[i];
|
var name=list[i];
|
||||||
if(player.countCards('h',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
if(player.countCards('h',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
||||||
var temp=get.order({name:name});
|
var temp=get.order({name:name});
|
||||||
if(temp>max) max=temp;
|
if(temp>max) max=temp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(max>0) max+=0.3;
|
if(max>0) max+=0.3;
|
||||||
return max;
|
return max;
|
||||||
}
|
}
|
||||||
return 4;
|
return 4;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -5467,14 +5467,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.popup(event.list[0]);
|
player.popup(event.list[0]);
|
||||||
player.storage.zhuSkill_yjixi=event.list;
|
player.storage.zhuSkill_yjixi=event.list;
|
||||||
game.broadcastAll(function(list){
|
game.broadcastAll(function(list){
|
||||||
game.expandSkills(list);
|
game.expandSkills(list);
|
||||||
for(var i of list){
|
for(var i of list){
|
||||||
var info=lib.skill[i];
|
var info=lib.skill[i];
|
||||||
if(!info) continue;
|
if(!info) continue;
|
||||||
if(!info.audioname2) info.audioname2={};
|
if(!info.audioname2) info.audioname2={};
|
||||||
info.audioname2.old_yuanshu='weidi';
|
info.audioname2.old_yuanshu='weidi';
|
||||||
}
|
}
|
||||||
},event.list);
|
},event.list);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -9557,12 +9557,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
});
|
});
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.addSkill('rebiluan2');
|
player.addSkill('rebiluan2');
|
||||||
var ng=Math.min(4,game.countPlayer());
|
var ng=Math.min(4,game.countPlayer());
|
||||||
player.$damagepop(ng,'unknownx');
|
player.$damagepop(ng,'unknownx');
|
||||||
player.storage.rebiluan2+=ng;
|
player.storage.rebiluan2+=ng;
|
||||||
player.markSkill('rebiluan2');
|
player.markSkill('rebiluan2');
|
||||||
game.addVideo('storage',player,['rebiluan2',player.storage.rebiluan2]);
|
game.addVideo('storage',player,['rebiluan2',player.storage.rebiluan2]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -9629,10 +9629,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
});
|
});
|
||||||
"step 1"
|
"step 1"
|
||||||
if(event.videoId!=undefined){
|
if(event.videoId!=undefined){
|
||||||
if(player.isOnline2()){
|
if(player.isOnline2()){
|
||||||
player.send('closeDialog',event.videoId);
|
player.send('closeDialog',event.videoId);
|
||||||
}
|
}
|
||||||
event.dialog.close();
|
event.dialog.close();
|
||||||
}
|
}
|
||||||
var map=[
|
var map=[
|
||||||
function(trigger,player,event){
|
function(trigger,player,event){
|
||||||
|
@ -9652,7 +9652,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
game.log(player,'选择了','#g【礼下】','的','#y选项'+get.cnNumber(result.links[i]+1,true));
|
game.log(player,'选择了','#g【礼下】','的','#y选项'+get.cnNumber(result.links[i]+1,true));
|
||||||
map[result.links[i]](trigger,player,event);
|
map[result.links[i]](trigger,player,event);
|
||||||
}
|
}
|
||||||
player.addSkill('rebiluan2');
|
player.addSkill('rebiluan2');
|
||||||
player.storage.rebiluan2-=result.links.length;
|
player.storage.rebiluan2-=result.links.length;
|
||||||
player.markSkill('rebiluan2');
|
player.markSkill('rebiluan2');
|
||||||
game.addVideo('storage',player,['rebiluan2',player.storage.rebiluan2]);
|
game.addVideo('storage',player,['rebiluan2',player.storage.rebiluan2]);
|
||||||
|
@ -9866,7 +9866,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(!player.storage.kunfen){
|
if(!player.storage.kunfen){
|
||||||
event.skillHidden=true;
|
event.skillHidden=true;
|
||||||
}
|
}
|
||||||
player.chooseBool(get.prompt2('kunfen')).set('ai',function(){
|
player.chooseBool(get.prompt('kunfen'),'结束阶段开始时,你可以失去1点体力,然后摸两张牌。').set('ai',function(){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
if(player.hp>3) return true;
|
if(player.hp>3) return true;
|
||||||
if(player.hp==3&&player.countCards('h')<3) return true;
|
if(player.hp==3&&player.countCards('h')<3) return true;
|
||||||
|
@ -10286,12 +10286,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
effect:function(card,player,target){
|
effect:{
|
||||||
var type=get.type2(card);
|
target:function(card,player,target){
|
||||||
var list=target.getStorage('zuixiang2');
|
var type=get.type2(card);
|
||||||
for(var i of list){
|
var list=target.getStorage('zuixiang2');
|
||||||
if(get.type2(i)==type) return 'zeroplayertarget';
|
for(var i of list){
|
||||||
}
|
if(get.type2(i)==type) return 'zeroplayertarget';
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -12162,7 +12164,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
});;
|
});
|
||||||
'step 1'
|
'step 1'
|
||||||
var evt=event.getParent(2);
|
var evt=event.getParent(2);
|
||||||
if(result.bool&&result.links&&result.links.length){
|
if(result.bool&&result.links&&result.links.length){
|
||||||
|
@ -13406,6 +13408,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
init:{
|
init:{
|
||||||
|
audio:'xinfu_xionghuo',
|
||||||
trigger:{
|
trigger:{
|
||||||
global:"gameDrawAfter",
|
global:"gameDrawAfter",
|
||||||
player:"enterGame",
|
player:"enterGame",
|
||||||
|
@ -13433,13 +13436,34 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ai:{
|
ai:{
|
||||||
order:11,
|
order:11,
|
||||||
result:{
|
result:{
|
||||||
target:function (player,target){
|
target:function(player,target){
|
||||||
var mark=player.countMark('xionghuo');
|
if((player.countMark('xionghuo')>=2||!game.hasPlayer(function(current){
|
||||||
if(mark>2) return -1;
|
return current!=player&&get.attitude(player,current)<0&¤t.hasMark('xionghuo');
|
||||||
return Math.min(-(1+mark-target.hp),0);
|
}))&&player.countCards('h',function(card){
|
||||||
|
return get.tag(card,'damage')&&player.canUse(card,target,null,true)
|
||||||
|
&&player.getUseValue(card)>0&&get.effect_use(target,card,player)>0
|
||||||
|
&&target.hasSkillTag('filterDamage',null,{
|
||||||
|
player:player,
|
||||||
|
card:card,
|
||||||
|
});
|
||||||
|
})) return 3/Math.max(1,target.hp);
|
||||||
|
if((!player.hasUnknown()&&game.countPlayer(function(current){
|
||||||
|
return get.attitude(player,current)<0;
|
||||||
|
})<=1)||player.countMark('xionghuo')>=2){
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
threaten:1.1,
|
effect:{
|
||||||
|
player:function(card,player,target){
|
||||||
|
if(player!=target&&get.tag(card,'damage')&&target&&target.hasMark('xionghuo')&&!target.hasSkillTag('filterDamage',null,{
|
||||||
|
player:player,
|
||||||
|
card:card,
|
||||||
|
})) return [1,0,1,-2];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
threaten:1.6,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
xionghuo:{
|
xionghuo:{
|
||||||
|
|
|
@ -1416,56 +1416,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
check:function(button){
|
check:function(button){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var players=game.filterPlayer();
|
if(player.countCards('h',button.link[2])) return 0;
|
||||||
if(player.countCards('h',button.link)) return 0;
|
if(_status.event.getParent().type!='phase') return 1;
|
||||||
if(button.link[2]=='wuzhong'){
|
return player.getUseValue({name:button.link[2]});
|
||||||
if(player.countCards('h')<player.hp){
|
|
||||||
return 3+Math.random();
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if(button.link[2]=='tao'){
|
|
||||||
return 3+Math.random();
|
|
||||||
}
|
|
||||||
if(button.link[2]=='sha'){
|
|
||||||
return 2+Math.random();
|
|
||||||
}
|
|
||||||
if(button.link[2]=='juedou'){
|
|
||||||
return 2+Math.random();
|
|
||||||
}
|
|
||||||
if(button.link[2]=='guohe'){
|
|
||||||
return 2+Math.random();
|
|
||||||
}
|
|
||||||
if(button.link[2]=='shunshou'){
|
|
||||||
for(var i=0;i<players.length;i++){
|
|
||||||
if(player.canUse('shunshou',players[i])&&get.attitude(player,players[i])<0){
|
|
||||||
return 2+Math.random();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if(button.link[2]=='tiesuo'){
|
|
||||||
return 1+Math.random();
|
|
||||||
}
|
|
||||||
if(button.link[2]=='jiu'){
|
|
||||||
if(get.effect(player,{name:'jiu'})>0){
|
|
||||||
return 1+Math.random();
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if(button.link[2]=='nanman'||button.link[2]=='wanjian'||button.link[2]=='taoyuan'||button.link[2]=='wugu'){
|
|
||||||
var eff=0;
|
|
||||||
for(var i=0;i<players.length;i++){
|
|
||||||
if(players[i]!=player){
|
|
||||||
eff+=get.effect(players[i],{name:button.link[2]},player,player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(eff>0){
|
|
||||||
return eff+Math.random();
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return Math.random();
|
|
||||||
},
|
},
|
||||||
backup:function(links,player){
|
backup:function(links,player){
|
||||||
return {
|
return {
|
||||||
|
@ -1475,7 +1428,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
check:function(card){
|
check:function(card){
|
||||||
return 1;
|
return 1;
|
||||||
},
|
},
|
||||||
viewAs:{name:links[0][2],nature:links[0][3]},
|
viewAs:{name:links[0][2],nature:links[0][3],isCard:true},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
prompt:function(links,player){
|
prompt:function(links,player){
|
||||||
|
|
|
@ -16,7 +16,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
tw_xiahouba:['male','shu',4,['twyanqin','twbaobian']],
|
tw_xiahouba:['male','shu',4,['twyanqin','twbaobian']],
|
||||||
tw_zumao:['male','wu',4,['twtijin']],
|
tw_zumao:['male','wu',4,['twtijin']],
|
||||||
tw_caoang:['male','wei',4,['twxiaolian']],
|
tw_caoang:['male','wei',4,['twxiaolian']],
|
||||||
tw_dingfeng:['male','wu',4,['twqijia','twzhulin']],
|
tw_dingfeng:['male','wu',4,['twqijia','twzhuchen']],
|
||||||
tw_caohong:['male','wei',4,['twhuzhu','twliancai']],
|
tw_caohong:['male','wei',4,['twhuzhu','twliancai']],
|
||||||
tw_maliang:['male','shu',3,['twrangyi','twbaimei']],
|
tw_maliang:['male','shu',3,['twrangyi','twbaimei']],
|
||||||
kaisa:["male","western",4,["zhengfu"]],
|
kaisa:["male","western",4,["zhengfu"]],
|
||||||
|
@ -52,9 +52,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
target.chooseToUse({
|
target.chooseToUse({
|
||||||
prompt:'请使用得到的一张牌,或者受到来自'+get.translation(player)+'的一点伤害',
|
prompt:'请使用得到的一张牌,或者受到来自'+get.translation(player)+'的一点伤害',
|
||||||
filterCard:function(card,player,event){
|
filterCard:function(card,player,event){
|
||||||
if(get.itemtype(card)!='card'||!cards.contains(card)) return false;
|
if(get.itemtype(card)!='card'||!event.cards.contains(card)) return false;
|
||||||
return lib.filter.filterCard(card,player,event);
|
return lib.filter.filterCard(card,player,event);
|
||||||
},
|
},
|
||||||
|
cards:cards,
|
||||||
});
|
});
|
||||||
'step 2'
|
'step 2'
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
|
@ -88,18 +89,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player:"damageBegin4",
|
player:"damageBegin4",
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
priority:15,
|
filter:function(event,player){
|
||||||
filter:function (event,player){
|
|
||||||
if(player.countCards('h')) return false;
|
if(player.countCards('h')) return false;
|
||||||
if(event.nature) return true;
|
if(event.nature) return true;
|
||||||
return get.type(event.card,'trick')=='trick';
|
return get.type(event.card,'trick')=='trick';
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function(){
|
||||||
trigger.cancel();
|
trigger.cancel();
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
effect:{
|
effect:{
|
||||||
target:function (card,player,target,current){
|
target:function(card,player,target,current){
|
||||||
if(target.countCards('h')) return;
|
if(target.countCards('h')) return;
|
||||||
if(get.tag(card,'natureDamage')) return 'zerotarget';
|
if(get.tag(card,'natureDamage')) return 'zerotarget';
|
||||||
if(get.type(card)=='trick'&&get.tag(card,'damage')){
|
if(get.type(card)=='trick'&&get.tag(card,'damage')){
|
||||||
|
@ -128,9 +128,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(player.countGainableCards(player,'e')) target.gainPlayerCard(player,'e',true);
|
if(player.countGainableCards(player,'e')) target.gainPlayerCard(player,'e',true);
|
||||||
'step 3'
|
'step 3'
|
||||||
if(target.isDamaged()&&target.hp<=player.hp){
|
if(target.isDamaged()&&target.hp<=player.hp){
|
||||||
player.chooseBool('是否令'+get.translation(target)+'回复1点体力?').ai=function(){
|
player.chooseBool('是否令'+get.translation(target)+'回复1点体力?').set('ai',function(){
|
||||||
return get.recoverEffect(target,player,player);
|
return get.recoverEffect(target,player,player);
|
||||||
};
|
});
|
||||||
}
|
}
|
||||||
'step 4'
|
'step 4'
|
||||||
if(result.bool) target.recover();
|
if(result.bool) target.recover();
|
||||||
|
@ -139,7 +139,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
order:8,
|
order:8,
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
var eff=(target.isDamaged()&&target.hp<=player.hp)?get.recoverEffect(target,player,player):0;
|
var eff=(target.isDamaged()&&target.hp<=player.hp)?get.recoverEffect(target,player,target):0;
|
||||||
if(eff<=0&&!player.countGainableCards(target,'e')) return -1;
|
if(eff<=0&&!player.countGainableCards(target,'e')) return -1;
|
||||||
return eff;
|
return eff;
|
||||||
},
|
},
|
||||||
|
@ -148,15 +148,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
twliancai:{
|
twliancai:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{player:['turnOverEnd','phaseEnd']},
|
trigger:{player:['turnOverEnd','phaseJieshuBegin']},
|
||||||
filter:function(card,player,target){
|
filter:function(card,player,target){
|
||||||
return target=='phaseEnd'||player.countCards('h')<player.hp;
|
return target=='phaseJieshuBegin'||player.countCards('h')<player.hp;
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target!=player&&target.countGainableCards(player,'e')>0;
|
return target!=player&&target.countGainableCards(player,'e')>0;
|
||||||
},
|
},
|
||||||
check:function(card,player){
|
check:function(card,player){
|
||||||
if(card.name=='turnOve') return true;
|
if(card.name=='turnOver') return true;
|
||||||
if(player.isTurnedOver()) return true;
|
if(player.isTurnedOver()) return true;
|
||||||
if(player.hp-player.countCards('h')>1) return true;
|
if(player.hp-player.countCards('h')>1) return true;
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
|
@ -170,11 +170,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return -att;
|
return -att;
|
||||||
},
|
},
|
||||||
prompt2:function(card,player,target){
|
prompt2:function(card,player,target){
|
||||||
return card.name=='phase'?'将武将牌翻面,然后获得一名其他角色装备区内的一张牌':'将手牌摸至与体力值相同';
|
return card.name=='phaseJieshu'?'将武将牌翻面,然后获得一名其他角色装备区内的一张牌':'将手牌摸至与体力值相同';
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
if(event.triggername=='phaseEnd') player.turnOver();
|
if(event.triggername=='phaseJieshuBegin') player.turnOver();
|
||||||
else{
|
else{
|
||||||
player.draw(player.hp-player.countCards('h'));
|
player.draw(player.hp-player.countCards('h'));
|
||||||
event.finish();
|
event.finish();
|
||||||
|
@ -189,12 +189,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
twqijia:{
|
twqijia:{
|
||||||
group:'twqijia_alka',
|
//group:'twqijia_alka',
|
||||||
audio:2,
|
audio:2,
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.countCards('e',function(card){
|
return player.countCards('e',function(card){
|
||||||
return !player.storage.twqijia.contains(get.subtype(card));
|
return !player.getStorage('twqijia_alka').contains(get.subtype(card));
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
|
@ -202,21 +202,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
position:'e',
|
position:'e',
|
||||||
filterCard:function(card,player){
|
filterCard:function(card,player){
|
||||||
return !player.storage.twqijia.contains(get.subtype(card));
|
return !player.getStorage('twqijia_alka').contains(get.subtype(card));
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.storage.twqijia.push(get.subtype(cards[0]));
|
player.addTempSkill('twqijia_alka');
|
||||||
|
player.storage.twqijia_alka.push(get.subtype(cards[0]));
|
||||||
player.useCard({name:'sha'},target,false);
|
player.useCard({name:'sha'},target,false);
|
||||||
},
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
alka:{
|
alka:{
|
||||||
sub:true,
|
charlotte:true,
|
||||||
trigger:{player:['phaseUseBegin','phaseUseEnd']},
|
onremove:function(player){
|
||||||
silent:true,
|
delete player.storage.twqijia_alka;
|
||||||
content:function(){
|
delete player.storage.twzhuchen;
|
||||||
player.storage.twqijia=[];
|
player.unmarkSkill('twzhuchen');
|
||||||
player.storage.twzhulin=[];
|
},
|
||||||
|
init:function(player,skill){
|
||||||
|
if(!player.storage[skill]) player.storage[skill]=[];
|
||||||
|
if(!player.storage.twzhuchen) player.storage.twzhuchen=[];
|
||||||
|
},
|
||||||
|
mod:{
|
||||||
|
globalFrom:function(from,to,distance){
|
||||||
|
if(from.storage.twzhuchen&&from.storage.twzhuchen.contains(to)) return -Infinity;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -234,25 +243,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
twzhulin:{
|
twzhuchen:{
|
||||||
group:'twqijia_alka',
|
|
||||||
locked:false,
|
|
||||||
mod:{
|
|
||||||
globalFrom:function(from,to,distance){
|
|
||||||
if(from.storage.twzhulin&&from.storage.twzhulin.contains(to)) return -Infinity;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.countCards('h',lib.skill.twzhulin.filterCard)>0;
|
return player.countCards('h',lib.skill.twzhuchen.filterCard)>0;
|
||||||
},
|
},
|
||||||
filterCard:function(card){
|
filterCard:function(card,player){
|
||||||
return card.name=='tao'||card.name=='jiu';
|
var name=get.name(card,player);
|
||||||
|
return name=='tao'||name=='jiu';
|
||||||
},
|
},
|
||||||
filterTarget:lib.filter.notMe,
|
filterTarget:lib.filter.notMe,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.twzhulin.add(target);
|
player.addTempSkill('twqijia_alka');
|
||||||
player.markSkill('twzhulin');
|
player.storage.twzhuchen.add(target);
|
||||||
|
player.markSkill('twzhuchen');
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
content:function(content,player){
|
content:function(content,player){
|
||||||
|
@ -274,7 +278,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.getParent().twxiaolian=trigger.targets[0];
|
trigger.getParent().twxiaolian=trigger.targets[0];
|
||||||
trigger.targets.length=0;
|
trigger.targets.length=0;
|
||||||
trigger.getParent().triggeredTargets2.length=0;
|
trigger.getParent().triggeredTargets2.length=0;
|
||||||
trigger.targets.push(player);
|
trigger.targets.push(player);
|
||||||
},
|
},
|
||||||
group:'twxiaolian_damage',
|
group:'twxiaolian_damage',
|
||||||
|
@ -344,6 +348,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
next.player=player;
|
next.player=player;
|
||||||
next.target=trigger.player;
|
next.target=trigger.player;
|
||||||
next.setContent(function(){
|
next.setContent(function(){
|
||||||
|
if(target.isDead()||!target.countCards('he')) return;
|
||||||
player.line(target,'green');
|
player.line(target,'green');
|
||||||
player.discardPlayerCard(target,true,'he');
|
player.discardPlayerCard(target,true,'he');
|
||||||
});
|
});
|
||||||
|
@ -556,8 +561,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
twxiaolian_info:'当一名其他角色使用【杀】指定另一名其他角色为目标时,你可以将此【杀】的目标改为你。若如此做,当你受到此【杀】的伤害后,你可以将一张牌放在此【杀】原目标的武将牌旁,称之为“马”。锁定技,场上的一名角色每有一张“马”,其他角色计算与其的距离便+1。',
|
twxiaolian_info:'当一名其他角色使用【杀】指定另一名其他角色为目标时,你可以将此【杀】的目标改为你。若如此做,当你受到此【杀】的伤害后,你可以将一张牌放在此【杀】原目标的武将牌旁,称之为“马”。锁定技,场上的一名角色每有一张“马”,其他角色计算与其的距离便+1。',
|
||||||
twqijia:'弃甲',
|
twqijia:'弃甲',
|
||||||
twqijia_info:'出牌阶段,你可以弃置一张装备区内的牌(每种类型的装备牌限一次),然后视为对攻击范围内的一名其他角色使用了一张【杀】。',
|
twqijia_info:'出牌阶段,你可以弃置一张装备区内的牌(每种类型的装备牌限一次),然后视为对攻击范围内的一名其他角色使用了一张【杀】。',
|
||||||
twzhulin:'诛綝',
|
twzhuchen:'诛綝',
|
||||||
twzhulin_info:'出牌阶段,你可以弃置一张【桃】或【酒】并选择一名其他角色。你与其的距离视为1直到此阶段结束。',
|
twzhuchen_info:'出牌阶段,你可以弃置一张【桃】或【酒】并选择一名其他角色。你与其的距离视为1直到此阶段结束。',
|
||||||
twhuzhu:'护主',
|
twhuzhu:'护主',
|
||||||
twhuzhu_info:'出牌阶段限一次,若你的装备区内有牌,则你可以令一名其他角色交给你一张手牌,然后获得你装备区内的一张牌。若其体力值不大于你,则你可以令其回复1点体力。',
|
twhuzhu_info:'出牌阶段限一次,若你的装备区内有牌,则你可以令一名其他角色交给你一张手牌,然后获得你装备区内的一张牌。若其体力值不大于你,则你可以令其回复1点体力。',
|
||||||
twliancai:'敛财',
|
twliancai:'敛财',
|
||||||
|
|
|
@ -6192,21 +6192,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
shifei:{
|
shifei:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{player:['chooseToRespondBegin','chooseToUseBegin']},
|
enable:['chooseToRespond','chooseToUse'],
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(!_status.currentPhase) return false;
|
if(!_status.currentPhase||event.shifei) return false;
|
||||||
if(event.responded) return false;
|
if(!event.filterCard({name:'shan',isCard:true},player,event)) return false;
|
||||||
if(!event.filterCard({name:'shan'},player,event)) return false;
|
if(event.name!='chooseToUse'&&!lib.filter.cardRespondable({name:'shan',isCard:true},player,event)) return false;
|
||||||
if(event.name!='chooseToUse'&&!lib.filter.cardRespondable({name:'shan'},player,event)) return false;
|
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
delay:false,
|
||||||
|
checkx:function(player){
|
||||||
if(get.attitude(player,_status.currentPhase)>0) return true;
|
if(get.attitude(player,_status.currentPhase)>0) return true;
|
||||||
var nh=_status.currentPhase.countCards('h')+1;
|
var nh=_status.currentPhase.countCards('h')+1;
|
||||||
var players=game.filterPlayer();
|
var players=game.filterPlayer();
|
||||||
for(var i=0;i<players.length;i++){
|
for(var i=0;i<players.length;i++){
|
||||||
if(players[i].countCards('h')>nh){
|
if(players[i].countCards('h')>nh){
|
||||||
if(!player.hasShan()||get.attitude(player,players[i])<=0) return true;
|
if(!player.countCards('h','shan')||get.attitude(player,players[i])<=0) return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -6218,6 +6218,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 1'
|
'step 1'
|
||||||
if(_status.currentPhase.isMaxHandcard(true)){
|
if(_status.currentPhase.isMaxHandcard(true)){
|
||||||
event.finish();
|
event.finish();
|
||||||
|
var evt=event.getParent(2);
|
||||||
|
evt.set('shifei',true);
|
||||||
|
evt.goto(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var targets=game.filterPlayer(function(current){
|
var targets=game.filterPlayer(function(current){
|
||||||
|
@ -6237,6 +6240,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
'step 2'
|
'step 2'
|
||||||
|
var evt=event.getParent(2);
|
||||||
var target;
|
var target;
|
||||||
if(event.onlytarget){
|
if(event.onlytarget){
|
||||||
target=event.onlytarget;
|
target=event.onlytarget;
|
||||||
|
@ -6247,9 +6251,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(target){
|
if(target){
|
||||||
player.line(target,'green');
|
player.line(target,'green');
|
||||||
player.discardPlayerCard(target,'he',true);
|
player.discardPlayerCard(target,'he',true);
|
||||||
trigger.untrigger();
|
evt.result={bool:true,card:{name:'shan',isCard:true},cards:[]};
|
||||||
trigger.responded=true;
|
evt.redo();
|
||||||
trigger.result={bool:true,card:{name:'shan',isCard:true}}
|
}
|
||||||
|
else{
|
||||||
|
evt.set('shifei',true);
|
||||||
|
evt.goto(0);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -6264,7 +6271,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
order:8,
|
||||||
|
result:{
|
||||||
|
player:function(player){
|
||||||
|
return lib.skill.shifei.checkx(player)?1:0;
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
huaiyi:{
|
huaiyi:{
|
||||||
|
@ -12290,7 +12303,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
jigong:'急攻',
|
jigong:'急攻',
|
||||||
jigong_info:'出牌阶段开始时,你可以摸两张牌。若如此做,你本回合的手牌上限改为X(X为你此阶段造成的伤害点数之和)。',
|
jigong_info:'出牌阶段开始时,你可以摸两张牌。若如此做,你本回合的手牌上限改为X(X为你此阶段造成的伤害点数之和)。',
|
||||||
shifei:'饰非',
|
shifei:'饰非',
|
||||||
shifei_info:'当你需要使用或打出【闪】时,你可以令当前回合角色摸一张牌,然后若其手牌数不为全场最多,则你弃置全场手牌数最多(或之一)角色的一张牌,视为你使用或打出了一张【闪】。',
|
shifei_info:'当你需要使用或打出【闪】时,你可以令当前回合角色摸一张牌。然后若其手牌数不为全场最多,则你弃置全场手牌数最多(或之一)角色的一张牌,视为你使用或打出了一张【闪】。',
|
||||||
huaiyi:'怀异',
|
huaiyi:'怀异',
|
||||||
huaiyi_info:'出牌阶段限一次,你可以展示所有手牌,若这些牌的颜色不全部相同,则你选择一种颜色并弃置该颜色的所有手牌,然后你可以获得至多X名角色的各一张牌(X为你以此法弃置的手牌数)。若你以此法获得的牌不少于两张,则你失去1点体力。',
|
huaiyi_info:'出牌阶段限一次,你可以展示所有手牌,若这些牌的颜色不全部相同,则你选择一种颜色并弃置该颜色的所有手牌,然后你可以获得至多X名角色的各一张牌(X为你以此法弃置的手牌数)。若你以此法获得的牌不少于两张,则你失去1点体力。',
|
||||||
yaoming:'邀名',
|
yaoming:'邀名',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
window.noname_asset_list=[
|
window.noname_asset_list=[
|
||||||
'v1.9.106',
|
'v1.9.106.1',
|
||||||
'audio/background/aozhan_chaoming.mp3',
|
'audio/background/aozhan_chaoming.mp3',
|
||||||
'audio/background/aozhan_online.mp3',
|
'audio/background/aozhan_online.mp3',
|
||||||
'audio/background/aozhan_rewrite.mp3',
|
'audio/background/aozhan_rewrite.mp3',
|
||||||
|
@ -3453,6 +3453,7 @@ window.noname_asset_list=[
|
||||||
'image/character/key_shiroha.jpg',
|
'image/character/key_shiroha.jpg',
|
||||||
'image/character/ns_caimao.jpg',
|
'image/character/ns_caimao.jpg',
|
||||||
'image/character/caoxing.jpg',
|
'image/character/caoxing.jpg',
|
||||||
|
'image/character/ns_jiaxu.jpg',
|
||||||
|
|
||||||
'image/character/baiwuchang.jpg',
|
'image/character/baiwuchang.jpg',
|
||||||
'image/character/baosanniang.jpg',
|
'image/character/baosanniang.jpg',
|
||||||
|
@ -4540,6 +4541,7 @@ window.noname_asset_list=[
|
||||||
'image/mode/chess/character/leader_caocao.jpg',
|
'image/mode/chess/character/leader_caocao.jpg',
|
||||||
'image/mode/chess/character/leader_liubei.jpg',
|
'image/mode/chess/character/leader_liubei.jpg',
|
||||||
'image/mode/chess/character/leader_sunquan.jpg',
|
'image/mode/chess/character/leader_sunquan.jpg',
|
||||||
|
'image/mode/chess/character/leader_yuri.jpg',
|
||||||
'image/mode/chess/difficulty/leader_easy.jpg',
|
'image/mode/chess/difficulty/leader_easy.jpg',
|
||||||
'image/mode/chess/difficulty/leader_hard.jpg',
|
'image/mode/chess/difficulty/leader_hard.jpg',
|
||||||
'image/mode/chess/difficulty/leader_medium.jpg',
|
'image/mode/chess/difficulty/leader_medium.jpg',
|
||||||
|
@ -5293,8 +5295,8 @@ window.noname_skin_list={
|
||||||
key_yuri:4,
|
key_yuri:4,
|
||||||
key_yuzuru:2,
|
key_yuzuru:2,
|
||||||
sp_key_kanade:8,
|
sp_key_kanade:8,
|
||||||
key_kamome:1,
|
key_kamome:5,
|
||||||
key_umi:2,
|
key_umi:5,
|
||||||
key_umi2:1,
|
key_umi2:1,
|
||||||
key_mio:3,
|
key_mio:3,
|
||||||
key_midori:1,
|
key_midori:1,
|
||||||
|
|
32
game/game.js
|
@ -13645,7 +13645,7 @@
|
||||||
})) return 14;
|
})) return 14;
|
||||||
if(target.countCards('e',function(card){
|
if(target.countCards('e',function(card){
|
||||||
return get.value(card,target)<0&&game.hasPlayer(function(current){
|
return get.value(card,target)<0&&game.hasPlayer(function(current){
|
||||||
return current!=target&&get.attitude(player,current)<0&¤t.isEmpty(get.subtype(card))
|
return current!=target&&get.attitude(player,current)<0&¤t.isEmpty(get.subtype(card))&&get.effect(target,card,player,player)<0;
|
||||||
});
|
});
|
||||||
})>0) return 9;
|
})>0) return 9;
|
||||||
}
|
}
|
||||||
|
@ -13654,7 +13654,7 @@
|
||||||
if(current!=target&&get.attitude(player,current)>0){
|
if(current!=target&&get.attitude(player,current)>0){
|
||||||
var es=target.getCards('e');
|
var es=target.getCards('e');
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(get.value(es[i],target)>0&¤t.isEmpty(get.subtype(es[i]))&&get.effect(current,es[i],player,current)>0) return true;
|
if(get.value(es[i],target)>0&¤t.isEmpty(get.subtype(es[i]))&&get.effect(current,es[i],player,player)>0) return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})){
|
})){
|
||||||
|
@ -13667,7 +13667,7 @@
|
||||||
var i;
|
var i;
|
||||||
var att2=get.sgn(get.attitude(player,ui.selected.targets[0]));
|
var att2=get.sgn(get.attitude(player,ui.selected.targets[0]));
|
||||||
for(i=0;i<es.length;i++){
|
for(i=0;i<es.length;i++){
|
||||||
if(sgnatt!=0&&att2!=0&&
|
if(sgnatt!=0&&att2!=0&&sgnatt!=att2&&
|
||||||
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
||||||
get.sgn(get.effect(target,es[i],player,target))==sgnatt&&
|
get.sgn(get.effect(target,es[i],player,target))==sgnatt&&
|
||||||
target.isEmpty(get.subtype(es[i]))){
|
target.isEmpty(get.subtype(es[i]))){
|
||||||
|
@ -13710,7 +13710,7 @@
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(get.position(button.link)=='j') return -10;
|
if(get.position(button.link)=='j') return -10;
|
||||||
return get.equipValue(button.link)*get.effect(targets1,button.link,player,targets1);
|
return get.value(button.link)*get.effect(targets1,button.link,player,targets1);
|
||||||
}
|
}
|
||||||
},targets[0]).set('nojudge',event.nojudge||false).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
},targets[0]).set('nojudge',event.nojudge||false).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
||||||
var targets1=_status.event.targets1;
|
var targets1=_status.event.targets1;
|
||||||
|
@ -18388,7 +18388,7 @@
|
||||||
if(withatt){
|
if(withatt){
|
||||||
if(get.sgn(get.value(es[i],current))!=-att) return false;
|
if(get.sgn(get.value(es[i],current))!=-att) return false;
|
||||||
var att2=get.sgn(get.attitude(player,current2));
|
var att2=get.sgn(get.attitude(player,current2));
|
||||||
if(att2!=get.sgn(get.effect(current2,es[i],player,current2))) return false;
|
if(att==att2||att2!=get.sgn(get.effect(current2,es[i],player,current2))) return false;
|
||||||
}
|
}
|
||||||
return current!=current2&&!current2.isMin()&¤t2.isEmpty(get.subtype(es[i]));
|
return current!=current2&&!current2.isMin()&¤t2.isEmpty(get.subtype(es[i]));
|
||||||
})){
|
})){
|
||||||
|
@ -20042,6 +20042,7 @@
|
||||||
if(typeof card=='string') card={name:card,isCard:true};
|
if(typeof card=='string') card={name:card,isCard:true};
|
||||||
var info=get.info(card);
|
var info=get.info(card);
|
||||||
if(info.multicheck&&!info.multicheck(card,this)) return false;
|
if(info.multicheck&&!info.multicheck(card,this)) return false;
|
||||||
|
if(!lib.filter.cardEnabled(card,this)) return false;
|
||||||
if(distance!==false&&!lib.filter.targetInRange(card,this,target)) return false;
|
if(distance!==false&&!lib.filter.targetInRange(card,this,target)) return false;
|
||||||
return lib.filter[includecard?'targetEnabledx':'targetEnabled'](card,this,target);
|
return lib.filter[includecard?'targetEnabledx':'targetEnabled'](card,this,target);
|
||||||
},
|
},
|
||||||
|
@ -20626,6 +20627,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(expire.global){
|
||||||
|
if(typeof expire.global=='string'){
|
||||||
|
lib.hookmap[expire.global]=true;
|
||||||
|
}
|
||||||
|
else if(Array.isArray(expire.global)){
|
||||||
|
for(var i=0;i<expire.global.length;i++){
|
||||||
|
lib.hookmap[expire.global[i]]=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(var i in expire){
|
for(var i in expire){
|
||||||
|
@ -36397,7 +36408,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(listx.length){
|
if(listx.length){
|
||||||
var cfgnodeX=createConfig({
|
var cfgnodeY={
|
||||||
name:lib.translate[pak],
|
name:lib.translate[pak],
|
||||||
_name:pak,
|
_name:pak,
|
||||||
init:boolx,
|
init:boolx,
|
||||||
|
@ -36425,7 +36436,12 @@
|
||||||
game.saveConfig(connectMenu?('connect_'+modex.mode+'_banned'):(get.mode()+'_banned'),banned);
|
game.saveConfig(connectMenu?('connect_'+modex.mode+'_banned'):(get.mode()+'_banned'),banned);
|
||||||
updateActive();
|
updateActive();
|
||||||
},
|
},
|
||||||
});
|
};
|
||||||
|
if(mode.indexOf('mode_')==0&&mode.indexOf('mode_extension_')!=0){
|
||||||
|
cfgnodeY.clear=true;
|
||||||
|
delete cfgnodeY.onclick;
|
||||||
|
}
|
||||||
|
var cfgnodeX=createConfig(cfgnodeY);
|
||||||
page.appendChild(cfgnodeX);
|
page.appendChild(cfgnodeX);
|
||||||
var buttons=ui.create.buttons(listx,'character',page);
|
var buttons=ui.create.buttons(listx,'character',page);
|
||||||
for(var i=0;i<buttons.length;i++){
|
for(var i=0;i<buttons.length;i++){
|
||||||
|
@ -41233,7 +41249,7 @@
|
||||||
if(_status.paused&&_status.imchoosing&&!_status.auto){
|
if(_status.paused&&_status.imchoosing&&!_status.auto){
|
||||||
ui.click.auto();
|
ui.click.auto();
|
||||||
}
|
}
|
||||||
},true);
|
},true,true);
|
||||||
},
|
},
|
||||||
groupControl:function(dialog){
|
groupControl:function(dialog){
|
||||||
return ui.create.control('wei','shu','wu','qun','western','key',function(link,node){
|
return ui.create.control('wei','shu','wu','qun','western','key',function(link,node){
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
window.noname_update={
|
window.noname_update={
|
||||||
version:'1.9.106',
|
version:'1.9.106.1',
|
||||||
update:'1.9.105.10',
|
update:'1.9.106',
|
||||||
changeLog:[
|
changeLog:[
|
||||||
'银河射手-曹性、诸葛恪',
|
'S贾诩',
|
||||||
'bug修复',
|
'bug修复',
|
||||||
],
|
],
|
||||||
files:[
|
files:[
|
||||||
//'card/extra.js',
|
//'card/extra.js',
|
||||||
//'card/huanlekapai.js',
|
//'card/huanlekapai.js',
|
||||||
//'card/sp.js',
|
//'card/sp.js',
|
||||||
//'card/standard.js',
|
'card/standard.js',
|
||||||
//'card/swd.js',
|
//'card/swd.js',
|
||||||
//'card/mtg.js',
|
//'card/mtg.js',
|
||||||
//'card/gujian.js',
|
//'card/gujian.js',
|
||||||
|
@ -17,23 +17,23 @@ window.noname_update={
|
||||||
//'card/gwent.js',
|
//'card/gwent.js',
|
||||||
//'card/yunchou.js',
|
//'card/yunchou.js',
|
||||||
//'card/zhenfa.js',
|
//'card/zhenfa.js',
|
||||||
//'card/zhulu.js',
|
'card/zhulu.js',
|
||||||
'character/diy.js',
|
'character/diy.js',
|
||||||
//'character/extra.js',
|
//'character/extra.js',
|
||||||
//'character/hearth.js',
|
//'character/hearth.js',
|
||||||
//'character/gujian.js',
|
//'character/gujian.js',
|
||||||
//'character/gwent.js',
|
//'character/gwent.js',
|
||||||
//'character/hearth.js',
|
//'character/hearth.js',
|
||||||
'character/mobile.js',
|
//'character/mobile.js',
|
||||||
//'character/mtg.js',
|
//'character/mtg.js',
|
||||||
//'character/old.js',
|
//'character/old.js',
|
||||||
'character/rank.js',
|
'character/rank.js',
|
||||||
'character/refresh.js',
|
'character/refresh.js',
|
||||||
'character/shenhua.js',
|
//'character/shenhua.js',
|
||||||
'character/sp.js',
|
'character/sp.js',
|
||||||
'character/sp2.js',
|
'character/sp2.js',
|
||||||
//'character/tw.js',
|
'character/tw.js',
|
||||||
'character/standard.js',
|
//'character/standard.js',
|
||||||
//'character/swd.js',
|
//'character/swd.js',
|
||||||
//'character/xianjian.js',
|
//'character/xianjian.js',
|
||||||
//'character/xinghuoliaoyuan.js',
|
//'character/xinghuoliaoyuan.js',
|
||||||
|
@ -44,8 +44,8 @@ window.noname_update={
|
||||||
//'layout/nova/layout.css',
|
//'layout/nova/layout.css',
|
||||||
//'mode/identity.js',
|
//'mode/identity.js',
|
||||||
//'mode/doudizhu.js',
|
//'mode/doudizhu.js',
|
||||||
'mode/guozhan.js',
|
//'mode/guozhan.js',
|
||||||
//'mode/chess.js',
|
'mode/chess.js',
|
||||||
//'mode/tafang.js',
|
//'mode/tafang.js',
|
||||||
//'mode/single.js',
|
//'mode/single.js',
|
||||||
//'mode/stone.js',
|
//'mode/stone.js',
|
||||||
|
|
After Width: | Height: | Size: 154 KiB |
After Width: | Height: | Size: 183 KiB |
After Width: | Height: | Size: 129 KiB |
After Width: | Height: | Size: 144 KiB |
After Width: | Height: | Size: 128 KiB |
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 112 KiB |
After Width: | Height: | Size: 125 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 165 KiB |
|
@ -2385,7 +2385,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
intro.innerHTML=get.translation(rarity);
|
intro.innerHTML=get.translation(rarity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
game.leaderLord=['leader_caocao','leader_liubei','leader_sunquan'];
|
game.leaderLord=['leader_caocao','leader_liubei','leader_sunquan','leader_yuri'];
|
||||||
var dialog1=ui.create.dialog('选择君主','hidden');
|
var dialog1=ui.create.dialog('选择君主','hidden');
|
||||||
event.dialog1=dialog1;
|
event.dialog1=dialog1;
|
||||||
dialog1.classList.add('fullheight');
|
dialog1.classList.add('fullheight');
|
||||||
|
@ -4566,6 +4566,18 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
leader_zhenlve:{
|
||||||
|
trigger:{global:'useCard1'},
|
||||||
|
unique:true,
|
||||||
|
charlotte:true,
|
||||||
|
firstDo:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return get.type(event.card)=='trick'&&event.player.isFriendOf(player);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.nowuxie=true;
|
||||||
|
},
|
||||||
|
},
|
||||||
tongshuai:{
|
tongshuai:{
|
||||||
unique:true,
|
unique:true,
|
||||||
forbid:['guozhan'],
|
forbid:['guozhan'],
|
||||||
|
@ -5057,7 +5069,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
trigger:{player:'useCard'},
|
trigger:{player:'useCard'},
|
||||||
frequent:true,
|
frequent:true,
|
||||||
filter:function(event){
|
filter:function(event,player){
|
||||||
return event.card&&event.card.name=='sha'&&player.getHistory('useCard',function(evt){
|
return event.card&&event.card.name=='sha'&&player.getHistory('useCard',function(evt){
|
||||||
return evt.card.name=='sha';
|
return evt.card.name=='sha';
|
||||||
})[0]==event;
|
})[0]==event;
|
||||||
|
@ -5600,12 +5612,15 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
leader_caocao:'曹操',
|
leader_caocao:'曹操',
|
||||||
leader_liubei:'刘备',
|
leader_liubei:'刘备',
|
||||||
leader_sunquan:'孙权',
|
leader_sunquan:'孙权',
|
||||||
|
leader_yuri:'由理',
|
||||||
leader_xiaoxiong:'枭雄',
|
leader_xiaoxiong:'枭雄',
|
||||||
leader_xiaoxiong_info:'当你造成伤害后,获胜后会得到一定数量的额外金币奖励。',
|
leader_xiaoxiong_info:'当你造成伤害后,获胜后会得到一定数量的额外金币奖励。',
|
||||||
leader_renyi:'仁义',
|
leader_renyi:'仁义',
|
||||||
leader_renyi_info:'你招降敌将的成功率大幅增加。',
|
leader_renyi_info:'你招降敌将的成功率大幅增加。',
|
||||||
leader_mouduan:'谋断',
|
leader_mouduan:'谋断',
|
||||||
leader_mouduan_info:'其他友方角色回合内的行动范围+1。',
|
leader_mouduan_info:'其他友方角色回合内的行动范围+1。',
|
||||||
|
leader_zhenlve:'缜略',
|
||||||
|
leader_zhenlve_info:'友方角色使用的普通锦囊牌不可被【无懈可击】响应。',
|
||||||
|
|
||||||
tongshuai:'统率',
|
tongshuai:'统率',
|
||||||
tongshuai_info:'准备阶段和结束阶段,你可以选择一名未上场的已方武将的一个技能作为你的技能',
|
tongshuai_info:'准备阶段和结束阶段,你可以选择一名未上场的已方武将的一个技能作为你的技能',
|
||||||
|
@ -5660,6 +5675,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
boss_wuying:'无影',
|
boss_wuying:'无影',
|
||||||
boss_wuying_info:'锁定技,你回合内的移动距离-1;其他角色至你的距离+2。',
|
boss_wuying_info:'锁定技,你回合内的移动距离-1;其他角色至你的距离+2。',
|
||||||
|
|
||||||
|
chess_default:'常规',
|
||||||
|
chess_boss:'魔王',
|
||||||
|
chess_leader:'君主',
|
||||||
|
|
||||||
mode_chess_character_config:'战棋模式',
|
mode_chess_character_config:'战棋模式',
|
||||||
mode_chess_card_config:'战棋模式',
|
mode_chess_card_config:'战棋模式',
|
||||||
},
|
},
|
||||||
|
@ -6005,11 +6024,19 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
// image:'mode/chess/difficulty/leader_hard'
|
// image:'mode/chess/difficulty/leader_hard'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
characterSort:{
|
||||||
|
mode_chess:{
|
||||||
|
chess_default:["chess_zhangliao","chess_huangzhong","chess_taishici","chess_sunshangxiang","chess_diaochan"],
|
||||||
|
chess_boss:["chess_jinchidiao","chess_beimingjukun","chess_wuzhaojinlong","chess_dongzhuo","chess_xingtian"],
|
||||||
|
chess_leader:["leader_caocao","leader_liubei","leader_sunquan","leader_yuri"],
|
||||||
|
},
|
||||||
|
},
|
||||||
characterPack:{
|
characterPack:{
|
||||||
mode_chess:{
|
mode_chess:{
|
||||||
leader_caocao:['male','wei',4,['leader_xiaoxiong']],
|
leader_caocao:['male','wei',4,['leader_xiaoxiong']],
|
||||||
leader_liubei:['male','shu',4,['leader_renyi']],
|
leader_liubei:['male','shu',4,['leader_renyi']],
|
||||||
leader_sunquan:['male','wu',4,['leader_mouduan']],
|
leader_sunquan:['male','wu',4,['leader_mouduan']],
|
||||||
|
leader_yuri:['female','key',4,['leader_zhenlve']],
|
||||||
// chess_caocao:['male','wei',3,['']],
|
// chess_caocao:['male','wei',3,['']],
|
||||||
// chess_xunyu:['male','wei',3,['']],
|
// chess_xunyu:['male','wei',3,['']],
|
||||||
// chess_simayi:['male','wei',3,['']],
|
// chess_simayi:['male','wei',3,['']],
|
||||||
|
|