Merge branch 'libccy:PR-Branch' into PR-Branch
This commit is contained in:
commit
debf1edb99
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -2164,7 +2164,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
str+=('摸'+get.cnNumber(Math.min(8,num2-num1))+'张牌,然后手牌上限-1。');
|
str+=('摸'+get.cnNumber(Math.min(8,num2-num1))+'张牌,然后手牌上限-1。');
|
||||||
}
|
}
|
||||||
str+=('<br>※当前手牌上限:'+num2);
|
str+=('<br>※当前手牌上限:'+num2);
|
||||||
var num3=player.countMark('clanguixiang_count');
|
var num3=((_status.event.getParent().phaseIndex||0)+1);
|
||||||
if(num3>0){
|
if(num3>0){
|
||||||
str+=(';阶段数:'+num3)
|
str+=(';阶段数:'+num3)
|
||||||
}
|
}
|
||||||
|
@ -2186,7 +2186,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:function(item,player){
|
order:function(item,player){
|
||||||
var num=player.getHandcardLimit(),numx=player.countMark('clanguixiang_count');
|
var num=player.getHandcardLimit(),numx=((_status.event.getParent().phaseIndex||0)+1);
|
||||||
if(num==5&&numx==4&&player.getStat('skill').clanyirong) return 0;
|
if(num==5&&numx==4&&player.getStat('skill').clanyirong) return 0;
|
||||||
if(player.countCards('h')==num+1&&num!=2&&(num<=4||num>4&&numx>4)) return 10;
|
if(player.countCards('h')==num+1&&num!=2&&(num<=4||num>4&&numx>4)) return 10;
|
||||||
return 0.5;
|
return 0.5;
|
||||||
|
@ -2197,56 +2197,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
clanguixiang:{
|
clanguixiang:{
|
||||||
audio:2,
|
audio:2,
|
||||||
init:function(player){
|
|
||||||
player.addSkill('clanguixiang_count');
|
|
||||||
},
|
|
||||||
onremove:function(player){
|
|
||||||
player.removeSkill('clanguixiang_count');
|
|
||||||
var event=_status.event.getParent('phase');
|
|
||||||
if(event) delete event._clanguixiang;
|
|
||||||
},
|
|
||||||
trigger:{
|
trigger:{
|
||||||
player:['phaseZhunbeiBefore','phaseJudgeBefore','phaseDrawBefore','phaseDiscardBefore','phaseJieshuBefore'],
|
player:'phaseChange',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
var evt=event.getParent('phase');
|
if(event.phaseList[event.num].startsWith('phaseUse')) return false;
|
||||||
if(!evt||!evt._clanguixiang) return false;
|
var num1=player.getHandcardLimit()-1,num2=event.num;
|
||||||
var num1=player.getHandcardLimit()-1,num2=player.countMark('clanguixiang_count');
|
|
||||||
return num1==num2;
|
return num1==num2;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.cancel(null,null,'notrigger');
|
trigger.phaseList[trigger.num]='phaseUse|clanguixiang';
|
||||||
var next=player.phaseUse();
|
game.delayx();
|
||||||
event.next.remove(next);
|
|
||||||
trigger.getParent().next.unshift(next);
|
|
||||||
},
|
|
||||||
subSkill:{
|
|
||||||
count:{
|
|
||||||
trigger:{
|
|
||||||
player:['phaseZhunbeiBegin','phaseJudgeBegin','phaseDrawBegin','phaseDiscardBegin','phaseJieshuBegin','phaseUseBegin'],
|
|
||||||
},
|
|
||||||
forced:true,
|
|
||||||
popup:false,
|
|
||||||
lastDo:true,
|
|
||||||
priority:-Infinity,
|
|
||||||
content:function(){
|
|
||||||
player.addMark('clanguixiang_count',1,false);
|
|
||||||
},
|
|
||||||
group:'clanguixiang_clear',
|
|
||||||
},
|
|
||||||
clear:{
|
|
||||||
trigger:{player:'phaseBefore'},
|
|
||||||
forced:true,
|
|
||||||
charlotte:true,
|
|
||||||
popup:false,
|
|
||||||
firstDo:true,
|
|
||||||
priority:Infinity,
|
|
||||||
content:function(){
|
|
||||||
delete player.storage.clanguixiang_count;
|
|
||||||
trigger._clanguixiang=true;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
clanmuyin:{
|
clanmuyin:{
|
||||||
|
|
|
@ -3304,14 +3304,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
dddduanbing:{
|
dddduanbing:{
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.canAddJudge('bingliang')&&player.hasCard((card)=>lib.skill['dddduanbing'].filterCard(card,player),'h');
|
return player.canAddJudge('bingliang')&&player.hasCard((card)=>lib.skill['dddduanbing'].filterCard(card,player),'he');
|
||||||
},
|
},
|
||||||
filterCard:function(card,player){
|
filterCard:function(card,player){
|
||||||
if(get.color(card)!='black'||get.type2(card)=='trick') return false;
|
if(get.color(card)!='black'||get.type2(card)=='trick') return false;
|
||||||
return player.canAddJudge(get.autoViewAs({name:'bingliang'},[card]));
|
return player.canAddJudge(get.autoViewAs({name:'bingliang'},[card]));
|
||||||
},
|
},
|
||||||
check:function(card){
|
check:function(card){
|
||||||
return 6-get.value(card);
|
return 8.2-get.value(card);
|
||||||
},
|
},
|
||||||
discard:false,
|
discard:false,
|
||||||
lose:false,
|
lose:false,
|
||||||
|
|
124
character/diy.js
124
character/diy.js
|
@ -178,7 +178,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ns_chengpu:['male','wu',4,['decadelihuo','decadechunlao']],
|
ns_chengpu:['male','wu',4,['decadelihuo','decadechunlao']],
|
||||||
ns_sundeng:['male','wu',4,['xinkuangbi']],
|
ns_sundeng:['male','wu',4,['xinkuangbi']],
|
||||||
ns_duji:['male','wei',3,['xinfu_andong','xinyingshi']],
|
ns_duji:['male','wei',3,['xinfu_andong','xinyingshi']],
|
||||||
old_majun:["male","wei",3,["xinfu_jingxie1","xinfu_qiaosi"],[]],
|
old_majun:["male","wei",3,["xinfu_jingxie1","xinfu_qiaosi"]],
|
||||||
|
ns_mengyou:['male','qun',4,['nsmanzhi']],
|
||||||
|
|
||||||
old_jiakui:['male','wei',4,['tongqu','xinwanlan']],
|
old_jiakui:['male','wei',4,['tongqu','xinwanlan']],
|
||||||
ol_guohuai:['male','wei',3,['rejingce']],
|
ol_guohuai:['male','wei',3,['rejingce']],
|
||||||
|
@ -219,7 +220,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"ns_chentai","ns_huangwudie","ns_sunyi","ns_zhangning","ns_yanghu"],
|
"ns_chentai","ns_huangwudie","ns_sunyi","ns_zhangning","ns_yanghu"],
|
||||||
diy_yijiang3:['ns_ruanji','ns_zanghong','ns_limi','ns_zhonglimu','prp_zhugeliang','key_seira','key_kiyu','key_tomoyo','key_minagi','key_michiru'],
|
diy_yijiang3:['ns_ruanji','ns_zanghong','ns_limi','ns_zhonglimu','prp_zhugeliang','key_seira','key_kiyu','key_tomoyo','key_minagi','key_michiru'],
|
||||||
diy_tieba:["ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_luyusheng"],
|
diy_tieba:["ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_luyusheng"],
|
||||||
diy_fakenews:["diy_wenyang","ns_zhangwei","ns_caimao","ns_chengpu",'ns_sundeng','ns_duji'],
|
diy_fakenews:["diy_wenyang","ns_zhangwei","ns_caimao","ns_chengpu",'ns_sundeng','ns_duji','ns_mengyou'],
|
||||||
diy_xushi:["diy_feishi","diy_hanlong","diy_liufu","diy_liuyan","diy_liuzan","diy_tianyu","diy_xizhenxihong","diy_yangyi","diy_zaozhirenjun"],
|
diy_xushi:["diy_feishi","diy_hanlong","diy_liufu","diy_liuyan","diy_liuzan","diy_tianyu","diy_xizhenxihong","diy_yangyi","diy_zaozhirenjun"],
|
||||||
diy_default:["diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","old_majun"],
|
diy_default:["diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","old_majun"],
|
||||||
diy_noname:['noname'],
|
diy_noname:['noname'],
|
||||||
|
@ -373,6 +374,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ns_zhangxiu:'#p本因坊神策',
|
ns_zhangxiu:'#p本因坊神策',
|
||||||
ns_yangyi:'#p本因坊神策',
|
ns_yangyi:'#p本因坊神策',
|
||||||
ns_liuzhang:'#r矮子剑薄荷糖',
|
ns_liuzhang:'#r矮子剑薄荷糖',
|
||||||
|
ns_mengyou:'#g残昼厄夜',
|
||||||
},
|
},
|
||||||
card:{
|
card:{
|
||||||
kano_paibingbuzhen:{
|
kano_paibingbuzhen:{
|
||||||
|
@ -2599,7 +2601,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
else game.delayx();
|
else game.delayx();
|
||||||
'step 3'
|
'step 3'
|
||||||
player.addTempSkill('nstuilun_effect',{player:'phaseBegin'});
|
player.addTempSkill('nstuilun_effect',{player:'phaseBeginStart'});
|
||||||
},
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
effect:{
|
effect:{
|
||||||
|
@ -3560,7 +3562,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(player.countCards('h')>0) player.chooseToDiscard('h',true,player.countCards('h'));
|
if(player.countCards('h')>0) player.chooseToDiscard('h',true,player.countCards('h'));
|
||||||
player.recover();
|
player.recover();
|
||||||
trigger.cancel();
|
trigger.cancel();
|
||||||
player.addTempSkill('kyou_duanfa_draw',{player:'phaseBegin'});
|
player.addTempSkill('kyou_duanfa_draw',{player:'phaseBeginStart'});
|
||||||
},
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
draw:{
|
draw:{
|
||||||
|
@ -6370,9 +6372,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var num=game.roundNumber;
|
var num=game.roundNumber;
|
||||||
if(num&&typeof num=='number') player.draw(Math.min(3,num));
|
if(num&&typeof num=='number') player.draw(Math.min(3,num));
|
||||||
'step 1'
|
'step 1'
|
||||||
var next=player.phaseUse();
|
trigger.phaseList.splice(trigger.num,0,'phaseUse|godan_yuanyi');
|
||||||
event.next.remove(next);
|
|
||||||
trigger.next.push(next);
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
godan_feiqu:{
|
godan_feiqu:{
|
||||||
|
@ -17953,6 +17953,96 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
nsmanzhi:{
|
||||||
|
audio:'dcmanzhi',
|
||||||
|
trigger:{player:['phaseZhunbeiBegin','phaseJieshuBegin']},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
var nums=[];
|
||||||
|
game.countPlayer(current=>{
|
||||||
|
nums.add(current.hp);
|
||||||
|
nums.add(current.maxHp);
|
||||||
|
nums.add(current.countCards('h'));
|
||||||
|
nums.add(current.countCards('e'));
|
||||||
|
nums.add(current.countCards('j'));
|
||||||
|
});
|
||||||
|
for(var a of nums){
|
||||||
|
for(var b of nums){
|
||||||
|
if((0.5*a*a)+(2.5*b)-game.roundNumber==game.countPlayer()) return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var nums=[];
|
||||||
|
game.countPlayer(current=>{
|
||||||
|
nums.add(current.hp);
|
||||||
|
nums.add(current.maxHp);
|
||||||
|
nums.add(current.countCards('h'));
|
||||||
|
nums.add(current.countCards('e'));
|
||||||
|
nums.add(current.countCards('j'));
|
||||||
|
});
|
||||||
|
nums.sort((a,b)=>a-b);
|
||||||
|
var a=null,b=null,goon=false;
|
||||||
|
for(a of nums){
|
||||||
|
for(b of nums){
|
||||||
|
if((0.5*a*a)+(2.5*b)-game.roundNumber==game.countPlayer()){
|
||||||
|
goon=true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(goon) break;
|
||||||
|
}
|
||||||
|
player.chooseButton(2,[
|
||||||
|
'蛮智:请选择让下列等式成立的A与B的值',
|
||||||
|
'<div class="text center">目标等式</div>',
|
||||||
|
`0.5 × A² + 2.5 × B - ${game.roundNumber} = ${game.countPlayer()}`,
|
||||||
|
'<div class="text center">A的可选值</div>',
|
||||||
|
[nums.map(i=>{
|
||||||
|
return [
|
||||||
|
`A|${i}`,
|
||||||
|
i==a?(`<span class="yellowtext">${i}</span>`):i,
|
||||||
|
]
|
||||||
|
}),'tdnodes'],
|
||||||
|
'<div class="text center">B的可选值</div>',
|
||||||
|
[nums.map(i=>{
|
||||||
|
return [
|
||||||
|
`B|${i}`,
|
||||||
|
i==b?(`<span class="yellowtext">${i}</span>`):i,
|
||||||
|
]
|
||||||
|
}),'tdnodes'],
|
||||||
|
]).set('filterButton',function(button){
|
||||||
|
if(!ui.selected.buttons.length) return true;
|
||||||
|
return button.link[0]!=ui.selected.buttons[0].link[0];
|
||||||
|
}).set('filterOk',function(){
|
||||||
|
if(ui.selected.buttons.length!=2) return false;
|
||||||
|
var a,b;
|
||||||
|
for(var i of ui.selected.buttons){
|
||||||
|
if(i.link[0]=='A') a=parseInt(i.link.slice(2));
|
||||||
|
else b=parseInt(i.link.slice(2));
|
||||||
|
}
|
||||||
|
return (0.5*a*a)+(2.5*b)-game.roundNumber==game.countPlayer();
|
||||||
|
}).set('choice',[a,b]).set('ai',(button)=>{
|
||||||
|
var choice=_status.event.choice;
|
||||||
|
if(button.link==`A|${choice[0]}`||button.link==`B|${choice[1]}`) return 1;
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
var a,b;
|
||||||
|
for(var i of result.links){
|
||||||
|
if(i[0]=='A') a=parseInt(i.slice(2));
|
||||||
|
else b=parseInt(i.slice(2));
|
||||||
|
}
|
||||||
|
equals=`0.5×${a}²+2.5×${b}-${game.roundNumber}=${game.countPlayer()}`;
|
||||||
|
player.logSkill('nsmanzhi');
|
||||||
|
player.chat(equals);
|
||||||
|
game.log(player,'的计算结果为',equals);
|
||||||
|
player.draw(game.countPlayer());
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
dynamicTranslate:{
|
dynamicTranslate:{
|
||||||
nsjiquan:function(player){
|
nsjiquan:function(player){
|
||||||
|
@ -19030,6 +19120,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
junk_huangyueying_prefix:'旧界',
|
junk_huangyueying_prefix:'旧界',
|
||||||
old_majun:'骰子马钧',
|
old_majun:'骰子马钧',
|
||||||
old_majun_prefix:'骰子',
|
old_majun_prefix:'骰子',
|
||||||
|
ns_mengyou:'数学孟优',
|
||||||
|
ns_mengyou_prefix:'数学',
|
||||||
|
ns_mengyou_ab:'孟优',
|
||||||
|
nsmanzhi:'蛮智',
|
||||||
|
nsmanzhi_info:'准备阶段或结束阶段开始时,你可以将场上出现的数字代入等式中的A和B。若此等式成立,你摸Y张牌。(等式为Y=0.5A²+2.5B-X,其中X为游戏轮数,Y为存活人数)',
|
||||||
|
ns_chengpu:'铁索程普',
|
||||||
|
ns_chengpu_prefix:'铁索',
|
||||||
|
ns_chengpu_ab:'程普',
|
||||||
|
ns_sundeng:'画饼孙登',
|
||||||
|
ns_sundeng_prefix:'画饼',
|
||||||
|
ns_sundeng_ab:'孙登',
|
||||||
|
ns_duji:'画饼杜畿',
|
||||||
|
ns_duji_prefix:'画饼',
|
||||||
|
ns_duji_ab:'杜畿',
|
||||||
|
|
||||||
diy_tieba:'吧友设计',
|
diy_tieba:'吧友设计',
|
||||||
diy_xushi:'玩点论杀·虚实篇',
|
diy_xushi:'玩点论杀·虚实篇',
|
||||||
|
@ -19041,12 +19145,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
diy_yijiang3:'设计比赛2022',
|
diy_yijiang3:'设计比赛2022',
|
||||||
diy_fakenews:'杀海流言',
|
diy_fakenews:'杀海流言',
|
||||||
diy_trashbin:'垃圾桶',
|
diy_trashbin:'垃圾桶',
|
||||||
ns_chengpu:'铁索程普',
|
|
||||||
ns_chengpu_ab:'程普',
|
|
||||||
ns_sundeng:'画饼孙登',
|
|
||||||
ns_sundeng_ab:'孙登',
|
|
||||||
ns_duji:'画饼杜畿',
|
|
||||||
ns_duji_ab:'杜畿',
|
|
||||||
},
|
},
|
||||||
pinyins:{
|
pinyins:{
|
||||||
加藤うみ:['Kato','Umi'],
|
加藤うみ:['Kato','Umi'],
|
||||||
|
|
|
@ -3586,7 +3586,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
huoxin2:{
|
huoxin2:{
|
||||||
trigger:{
|
trigger:{
|
||||||
player:['phaseAfter','dieAfter'],
|
player:['phaseAfter','dieAfter'],
|
||||||
global:'phaseBefore',
|
global:'phaseBeforeStart',
|
||||||
},
|
},
|
||||||
lastDo:true,
|
lastDo:true,
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
|
@ -5412,7 +5412,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.chooseTarget(get.prompt('dawu'),'令至多'+get.cnNumber(num)+'名角色获得“大雾”标记',
|
player.chooseTarget(get.prompt('dawu'),'令至多'+get.cnNumber(num)+'名角色获得“大雾”标记',
|
||||||
[1,num]).set('ai',function(target){
|
[1,num]).set('ai',function(target){
|
||||||
if(target.isMin()) return 0;
|
if(target.isMin()) return 0;
|
||||||
if(target.hasSkill('biantian2')) return 0;
|
if(target.hasSkill('biantian2')||target.hasSkill('dawu2')) return 0;
|
||||||
var att=get.attitude(player,target);
|
var att=get.attitude(player,target);
|
||||||
if(att>=4){
|
if(att>=4){
|
||||||
if(_status.event.allUse) return att;
|
if(_status.event.allUse) return att;
|
||||||
|
@ -5426,13 +5426,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
})*2);
|
})*2);
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('dawu',result.targets,'thunder');
|
var targets=result.targets.sortBySeat();
|
||||||
var length=result.targets.length;
|
player.logSkill('dawu',targets,'thunder');
|
||||||
for(var i=0;i<length;i++){
|
var length=targets.length;
|
||||||
result.targets[i].addSkill('dawu2');
|
targets.forEach(target=>{
|
||||||
}
|
target.addAdditionalSkill(`dawu_${player.playerid}`,'dawu2');
|
||||||
|
target.markAuto('dawu2',[player]);
|
||||||
|
});
|
||||||
|
player.addTempSkill('dawu3',{player:'phaseBeginStart'})
|
||||||
player.chooseCardButton('选择弃置'+get.cnNumber(length)+'张“星”',length,player.getExpansions('qixing'),true);
|
player.chooseCardButton('选择弃置'+get.cnNumber(length)+'张“星”',length,player.getExpansions('qixing'),true);
|
||||||
player.addSkill('dawu3');
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
event.finish();
|
event.finish();
|
||||||
|
@ -5443,46 +5445,41 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ai:{combo:'qixing'},
|
ai:{combo:'qixing'},
|
||||||
},
|
},
|
||||||
dawu2:{
|
dawu2:{
|
||||||
trigger:{player:'damageBegin4'},
|
|
||||||
filter:function(event){
|
|
||||||
if(!event.hasNature('thunder')) return true;
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
mark:true,
|
|
||||||
forced:true,
|
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
content:function(){
|
|
||||||
trigger.cancel();
|
|
||||||
},
|
|
||||||
ai:{
|
ai:{
|
||||||
nofire:true,
|
nofire:true,
|
||||||
nodamage:true,
|
nodamage:true,
|
||||||
effect:{
|
effect:{
|
||||||
target:function(card,player,target,current){
|
target:function(card,player,target,current){
|
||||||
if(get.tag(card,'damage')&&!get.tag(card,'thunderDamage')) return [0,0];
|
if(get.tag(card,'damage')&&!get.tag(card,'thunderDamage')) return 'zeroplayertarget';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
markcount:()=>1,
|
content:function(storage){
|
||||||
content:'共有1个标记',
|
return `共有${storage.length}枚标记`;
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
dawu3:{
|
dawu3:{
|
||||||
trigger:{player:['phaseBegin','dieBegin']},
|
trigger:{global:'damageBegin4'},
|
||||||
silent:true,
|
filter:function(event,player){
|
||||||
|
return !event.hasNature('thunder')&&event.player.getStorage('dawu2').includes(player);
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
|
logTarget:'player',
|
||||||
content:function(){
|
content:function(){
|
||||||
for(var i=0;i<game.players.length;i++){
|
trigger.cancel();
|
||||||
if(game.players[i].hasSkill('dawu2')){
|
},
|
||||||
game.players[i].removeSkill('dawu2');
|
onremove:function(player){
|
||||||
|
game.countPlayer2(current=>{
|
||||||
|
if(current.getStorage('dawu2').includes(player)){
|
||||||
|
current.unmarkAuto('dawu2',player);
|
||||||
|
current.removeAdditionalSkill(`dawu_${player.playerid}`);
|
||||||
}
|
}
|
||||||
if(game.players[i].hasSkill('kuangfeng2')){
|
},true);
|
||||||
game.players[i].removeSkill('kuangfeng2');
|
},
|
||||||
}
|
|
||||||
}
|
|
||||||
player.removeSkill('dawu3');
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
kuangfeng:{
|
kuangfeng:{
|
||||||
unique:true,
|
unique:true,
|
||||||
|
@ -5499,13 +5496,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
var length=result.targets.length;
|
var targets=result.targets.sortBySeat();
|
||||||
for(var i=0;i<length;i++){
|
player.logSkill('kuangfeng',targets,'fire');
|
||||||
result.targets[i].addSkill('kuangfeng2');
|
var length=targets.length;
|
||||||
}
|
targets.forEach(target=>{
|
||||||
player.logSkill('kuangfeng',result.targets,'fire');
|
target.addAdditionalSkill(`kuangfeng_${player.playerid}`,'kuangfeng2');
|
||||||
player.chooseCardButton('弃置'+get.cnNumber(length)+'枚星',length,player.getExpansions('qixing'),true);
|
target.markAuto('kuangfeng2',[player]);
|
||||||
player.addSkill('dawu3');
|
});
|
||||||
|
player.addTempSkill('kuangfeng3',{player:'phaseBeginStart'})
|
||||||
|
player.chooseCardButton('选择弃置'+get.cnNumber(length)+'张“星”',length,player.getExpansions('qixing'),true);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
event.finish();
|
event.finish();
|
||||||
|
@ -5516,28 +5515,40 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ai:{combo:'qixing'},
|
ai:{combo:'qixing'},
|
||||||
},
|
},
|
||||||
kuangfeng2:{
|
kuangfeng2:{
|
||||||
trigger:{player:'damageBegin3'},
|
charlotte:true,
|
||||||
filter:function(event){
|
|
||||||
if(event.hasNature('fire')) return true;
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
mark:true,
|
|
||||||
intro:{
|
intro:{
|
||||||
markcount:()=>1,
|
content:function(storage){
|
||||||
content:'共有1个标记'
|
return `共有${storage.length}枚标记`;
|
||||||
},
|
},
|
||||||
forced:true,
|
|
||||||
content:function(){
|
|
||||||
trigger.num++;
|
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
effect:{
|
effect:{
|
||||||
target:function(card,player,target,current){
|
target:function(card,player,target,current){
|
||||||
if(get.tag(card,'fireDamage')) return 1.5;
|
if(get.tag(card,'fireDamage')&¤t<0) return 1.5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
kuangfeng3:{
|
||||||
|
trigger:{global:'damageBegin3'},
|
||||||
|
filter:function(event){
|
||||||
|
return event.hasNature('fire')&&event.player.getStorage('kuangfeng2').includes(player);
|
||||||
|
},
|
||||||
|
charlotte:true,
|
||||||
|
forced:true,
|
||||||
|
logTarget:'player',
|
||||||
|
content:function(){
|
||||||
|
trigger.num++;
|
||||||
|
},
|
||||||
|
onremove:function(player){
|
||||||
|
game.countPlayer2(current=>{
|
||||||
|
if(current.getStorage('kuangfeng2').includes(player)){
|
||||||
|
current.unmarkAuto('kuangfeng2',player);
|
||||||
|
current.removeAdditionalSkill(`kuangfeng_${player.playerid}`);
|
||||||
|
}
|
||||||
|
},true);
|
||||||
|
},
|
||||||
|
},
|
||||||
yeyan:{
|
yeyan:{
|
||||||
unique:true,
|
unique:true,
|
||||||
forceDie:true,
|
forceDie:true,
|
||||||
|
|
|
@ -6398,6 +6398,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger.directHit.push(trigger.target);
|
trigger.directHit.push(trigger.target);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
player:function(card,player,target){
|
||||||
|
if(player!==target&&get.itemtype(target)==='player'&&(card.name==='sha'||get.type(card,false)==='trick')&&
|
||||||
|
target.countCards('he')&&!target.hasSkillTag('noh')) return [1,0,1,-1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -10090,6 +10098,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
sp_jiaxu:['sp_jiaxu','dc_sp_jiaxu','yj_jiaxu'],
|
sp_jiaxu:['sp_jiaxu','dc_sp_jiaxu','yj_jiaxu'],
|
||||||
qiaorui:['qiaorui','tw_qiaorui'],
|
qiaorui:['qiaorui','tw_qiaorui'],
|
||||||
mamidi:['mamidi','xin_mamidi'],
|
mamidi:['mamidi','xin_mamidi'],
|
||||||
|
mengyou:['mengyou','ns_mengyou'],
|
||||||
},
|
},
|
||||||
translate:{
|
translate:{
|
||||||
re_panfeng:'潘凤',
|
re_panfeng:'潘凤',
|
||||||
|
|
|
@ -201,7 +201,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
chiying:{
|
chiying:{
|
||||||
trigger:{global:'damageBegin'},
|
trigger:{global:'damageBegin2'},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
return get.attitude(player,event.player)>0;
|
return get.attitude(player,event.player)>0;
|
||||||
},
|
},
|
||||||
|
@ -209,7 +209,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(event.num<=1) return false;
|
if(event.num<=1) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
priority:-11,
|
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.num=1;
|
trigger.num=1;
|
||||||
if(trigger.source){
|
if(trigger.source){
|
||||||
|
|
|
@ -4595,7 +4595,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
viewAsFilter:function(player){
|
viewAsFilter:function(player){
|
||||||
return player.hasCard({type:'equip'},'ehs');
|
return player.hasCard({type:'equip'},'ehs');
|
||||||
},
|
},
|
||||||
check:(card)=>5-get.value(card),
|
check:function(card){
|
||||||
|
if(_status.event.type=='dying') return 1/(get.value(card)||0.5);
|
||||||
|
return 5-get.value(card);
|
||||||
|
},
|
||||||
locked:false,
|
locked:false,
|
||||||
mod:{
|
mod:{
|
||||||
maxHandcard:function(player,num){
|
maxHandcard:function(player,num){
|
||||||
|
@ -12165,7 +12168,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player:"linkBefore",
|
player:"linkBefore",
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
priority:20,
|
//priority:20,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return !player.isLinked();
|
return !player.isLinked();
|
||||||
},
|
},
|
||||||
|
@ -13179,7 +13182,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
cancel:{
|
cancel:{
|
||||||
trigger:{player:'phaseUseEnd'},
|
trigger:{player:'phaseUseEnd'},
|
||||||
priority:50,
|
firstDo:true,
|
||||||
silent:true,
|
silent:true,
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
|
|
@ -944,6 +944,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.cancel();
|
trigger.cancel();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target){
|
||||||
|
if(card.name==='sha'&&!game.hasNature(card)&&target.hasEmptySlot(2)) return 'zeroplayertarget';
|
||||||
|
if(get.subtype(card)=='equip2'&&target.isEmpty(2)) return [0.6,-0.8];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//战役篇蒋钦
|
//战役篇蒋钦
|
||||||
|
@ -1976,7 +1984,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
skip:{
|
skip:{
|
||||||
trigger:{player:'phaseBefore'},
|
trigger:{player:'phaseBeforeStart'},
|
||||||
forced:true,
|
forced:true,
|
||||||
priority:Infinity,
|
priority:Infinity,
|
||||||
popup:false,
|
popup:false,
|
||||||
|
|
|
@ -960,6 +960,7 @@ window.noname_character_rank={
|
||||||
'mengyou',
|
'mengyou',
|
||||||
're_wenpin',
|
're_wenpin',
|
||||||
'yue_zhoufei',
|
'yue_zhoufei',
|
||||||
|
'ns_mengyou',
|
||||||
],
|
],
|
||||||
b:[
|
b:[
|
||||||
'diy_feishi',
|
'diy_feishi',
|
||||||
|
@ -1969,6 +1970,7 @@ window.noname_character_rank={
|
||||||
'clan_zhonghui',
|
'clan_zhonghui',
|
||||||
'zhoubuyi',
|
'zhoubuyi',
|
||||||
'dc_wangjun',
|
'dc_wangjun',
|
||||||
|
'ns_mengyou',
|
||||||
'key_kano',
|
'key_kano',
|
||||||
'key_haruko',
|
'key_haruko',
|
||||||
'key_akiko',
|
'key_akiko',
|
||||||
|
|
|
@ -3804,6 +3804,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
preHidden:true,
|
preHidden:true,
|
||||||
audioname:['sp_lvmeng','re_sunben','re_sunce'],
|
audioname:['sp_lvmeng','re_sunben','re_sunce'],
|
||||||
|
mod:{
|
||||||
|
aiOrder:function(player,card,num){
|
||||||
|
if(get.color(card)==='red'&&get.name(card)==='sha') return get.order({name: 'sha'})+0.15;
|
||||||
|
}
|
||||||
|
},
|
||||||
trigger:{
|
trigger:{
|
||||||
player:'useCardToPlayered',
|
player:'useCardToPlayered',
|
||||||
target:'useCardToTargeted',
|
target:'useCardToTargeted',
|
||||||
|
@ -3812,6 +3817,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(!(event.card.name=='juedou'||(event.card.name=='sha'&&get.color(event.card)=='red'))) return false;
|
if(!(event.card.name=='juedou'||(event.card.name=='sha'&&get.color(event.card)=='red'))) return false;
|
||||||
return player==event.target||event.getParent().triggeredTargets3.length==1;
|
return player==event.target||event.getParent().triggeredTargets3.length==1;
|
||||||
},
|
},
|
||||||
|
locked:false,
|
||||||
frequent:true,
|
frequent:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.draw();
|
player.draw();
|
||||||
|
@ -4872,9 +4878,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
preHidden:true,
|
preHidden:true,
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
if(player.countCards('h')<=1) return true;
|
return (player.countCards('h')+2+event.num)<=5||game.hasPlayer(function(target){
|
||||||
return game.hasPlayer(function(current){
|
return player!==target&&!game.hasPlayer(function(current){
|
||||||
return current!=player&¤t.isMinHandcard()&&get.attitude(player,current)>0;
|
return current!==player&¤t!==target&¤t.countCards('h')<target.countCards('h');
|
||||||
|
})&&get.attitude(player,target)>0;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -6276,30 +6283,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
useShan:true,
|
useShan:true,
|
||||||
effect:{
|
effect:{
|
||||||
target:function(card,player,target,current){
|
target:function(card,player,target,current){
|
||||||
if(get.tag(card,'respondShan')){
|
if(get.tag(card,'respondShan')&&!player.hasSkillTag('directHit_ai',true,{
|
||||||
var hastarget=game.hasPlayer(function(current){
|
target: target,
|
||||||
return get.attitude(target,current)<0;
|
card: card
|
||||||
});
|
},true)){
|
||||||
var be=target.countCards('e',{color:'black'});
|
let club=0,spade=0;
|
||||||
if(target.countCards('h','shan')&&be){
|
if(game.hasPlayer(function(current){
|
||||||
if(!target.hasSkill('guidao')) return 0;
|
return get.attitude(target,current)<0&&get.damageEffect(current,target,target,'thunder')>0;
|
||||||
return [0,hastarget?target.countCards('he')/2:0];
|
})){
|
||||||
|
club=2;
|
||||||
|
spade=4;
|
||||||
}
|
}
|
||||||
if(target.countCards('h','shan')&&target.countCards('h')>2){
|
if(!target.isHealthy()) club+=2;
|
||||||
if(!target.hasSkill('guidao')) return 0;
|
if(!club&&!spade) return 1;
|
||||||
return [0,hastarget?target.countCards('h')/4:0];
|
if(!target.mayHaveShan(player)) return 1-0.1*Math.min(5,target.countCards('hs'));
|
||||||
}
|
if(!target.hasSkillTag('rejudge')) return [1,(club+spade)/4];
|
||||||
if(target.countCards('h')>3||(be&&target.countCards('h')>=2)){
|
let pos=player.hasSkillTag('viewHandcard',null,target,true)?'hes':'e',better=club>spade?'club':'spade',max=0;
|
||||||
return [0,0];
|
target.hasCard(function(cardx){
|
||||||
}
|
if(get.suit(cardx)===better){
|
||||||
if(target.countCards('h')==0){
|
max=2;
|
||||||
return [1.5,0];
|
return true;
|
||||||
}
|
}
|
||||||
if(target.countCards('h')==1&&!be){
|
if(spade&&get.color(cardx)==='black') max=1;
|
||||||
return [1.2,0];
|
},pos);
|
||||||
}
|
if(max===2) return [1,Math.max(club,spade)];
|
||||||
if(!target.hasSkill('guidao')) return [1,0.05];
|
if(max===1) return [1,Math.min(club,spade)];
|
||||||
return [1,Math.min(0.5,(target.countCards('h')+be)/4)];
|
if(pos==='e') return [1,Math.min(Math.max(1,target.countCards('hs'))*(club+spade)/4,Math.max(club,spade))];
|
||||||
|
return [1,(club+spade)/4];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7259,17 +7269,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
useShan:true,
|
useShan:true,
|
||||||
effect:{
|
effect:{
|
||||||
target:function(card,player,target,current){
|
target:function(card,player,target,current){
|
||||||
if(get.tag(card,'respondShan')){
|
if(get.tag(card,'respondShan')&&!player.hasSkillTag('directHit_ai',true,{
|
||||||
var hastarget=game.hasPlayer(function(current){
|
target: target,
|
||||||
return get.attitude(target,current)<0;
|
card: card
|
||||||
});
|
},true)&&game.hasPlayer(function(current){
|
||||||
if(target.countCards('h','shan')&&target.countCards('e',{suit:'spade'})){
|
return get.attitude(target,current)<0&&get.damageEffect(current,target,target,'thunder')>0;
|
||||||
return [0,hastarget?target.countCards('he')/2:0];
|
})){
|
||||||
}
|
if(!target.mayHaveShan(player)) return 1-0.1*Math.min(5,target.countCards('hs'));
|
||||||
if(target.countCards('h','shan')){
|
if(!target.hasSkillTag('rejudge')) return [1,1];
|
||||||
return [1,hastarget?target.countCards('he')/2:0];
|
let pos=player.hasSkillTag('viewHandcard',null,target,true)?'hes':'e';
|
||||||
}
|
if(target.hasCard(function(cardx){
|
||||||
return [1,target.countCards('h')/4];
|
return get.suit(cardx)==='spade';
|
||||||
|
},pos)) return [1,4];
|
||||||
|
if(pos==='e') return [1,Math.min(4,1+0.75*Math.max(1,target.countCards('hs')))];
|
||||||
|
return [1,1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4054,9 +4054,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.damage('nosource');
|
player.damage('nosource');
|
||||||
'step 1'
|
'step 1'
|
||||||
var next=player.phaseUse();
|
trigger.phaseList.splice(trigger.num,0,'phaseUse|oldianjun');
|
||||||
event.next.remove(next);
|
|
||||||
trigger.next.push(next);
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
olkangrui:{
|
olkangrui:{
|
||||||
|
|
|
@ -8836,7 +8836,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
zongkui:{
|
zongkui:{
|
||||||
trigger:{player:'phaseBefore',global:'roundStart'},
|
trigger:{
|
||||||
|
player:'phaseBeforeEnd',
|
||||||
|
global:'roundStart',
|
||||||
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['tw_beimihu'],
|
audioname:['tw_beimihu'],
|
||||||
|
@ -10208,7 +10211,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
zongkui:'纵傀',
|
zongkui:'纵傀',
|
||||||
zongkui_mark:'纵傀',
|
zongkui_mark:'纵傀',
|
||||||
zongkui_mark_bg:'傀',
|
zongkui_mark_bg:'傀',
|
||||||
zongkui_info:'回合开始时,你可以指定一名未拥有“傀”标记的其他角色,令其获得一枚“傀”标记。每轮游戏开始时,你指定一名体力值最少且没有“傀”标记的其他角色,令其获得一枚“傀”标记。',
|
zongkui_info:'回合开始前,你可以指定一名未拥有“傀”标记的其他角色,令其获得一枚“傀”标记。一轮游戏开始时,你指定一名体力值最少且没有“傀”标记的其他角色,令其获得一枚“傀”标记。',
|
||||||
guju:'骨疽',
|
guju:'骨疽',
|
||||||
guju_info:'锁定技,拥有“傀”标记的角色受到伤害后,你摸一张牌。',
|
guju_info:'锁定技,拥有“傀”标记的角色受到伤害后,你摸一张牌。',
|
||||||
baijia:'拜假',
|
baijia:'拜假',
|
||||||
|
|
|
@ -4585,11 +4585,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
//周宣
|
//周宣
|
||||||
dcwumei:{
|
dcwumei:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{player:'phaseBegin'},
|
trigger:{player:'phaseBeginStart'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return !player.hasSkill('dcwumei_used');
|
return !player.hasSkill('dcwumei_used');
|
||||||
},
|
},
|
||||||
priority:10,//离谱的优先机制
|
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
@ -4616,6 +4615,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger._triggered=5;
|
trigger._triggered=5;
|
||||||
var evt=player.insertPhase();
|
var evt=player.insertPhase();
|
||||||
delete evt.skill;
|
delete evt.skill;
|
||||||
|
game.broadcastAll(function(player){
|
||||||
|
player.classList.remove('glow_phase');
|
||||||
|
delete _status.currentPhase;
|
||||||
|
},player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -10550,6 +10553,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
player.draw(2+get.sgn(trigger.player.hp-player.hp));
|
player.draw(2+get.sgn(trigger.player.hp-player.hp));
|
||||||
},
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target){
|
||||||
|
if(get.itemtype(player)!=='player'||player===target) return 1;
|
||||||
|
let num=1,ds=2+get.sgn(player.hp-target.hp);
|
||||||
|
if(player===_status.currentPhase&&_status.currentPhase.group==='qun'&&target.hasZhuSkill('yuwei',player)) num=2;
|
||||||
|
if(target.getHistory('gain',function(evt){
|
||||||
|
return evt.getParent(2).name==='shiyuan'&&evt.cards.length===ds;
|
||||||
|
}).length>=num) return 1;
|
||||||
|
let name=get.name(card);
|
||||||
|
if(get.tag(card,'lose')||name==='huogong'||name==='juedou'||name==='tiesuo') return [1,ds];
|
||||||
|
if(!target.hasFriend()) return 1;
|
||||||
|
return [1,0.8*ds];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
dushi:{
|
dushi:{
|
||||||
audio:2,
|
audio:2,
|
||||||
|
|
|
@ -2508,10 +2508,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ol_guansuo:'dangxian_guansuo',
|
ol_guansuo:'dangxian_guansuo',
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
var next=player.phaseUse();
|
trigger.phaseList.splice(trigger.num,0,'phaseUse|xindangxian');
|
||||||
next.xindangxian=true;
|
|
||||||
event.next.remove(next);
|
|
||||||
trigger.next.push(next);
|
|
||||||
},
|
},
|
||||||
group:'xindangxian_rewrite',
|
group:'xindangxian_rewrite',
|
||||||
subSkill:{
|
subSkill:{
|
||||||
|
@ -2520,7 +2517,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
forced:true,
|
forced:true,
|
||||||
popup:false,
|
popup:false,
|
||||||
filter:function(kagari){
|
filter:function(kagari){
|
||||||
return kagari.xindangxian==true;
|
return kagari._extraPhaseReason=='xindangxian';
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
@ -7664,9 +7661,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['guansuo'],
|
audioname:['guansuo'],
|
||||||
content:function(){
|
content:function(){
|
||||||
var next=player.phaseUse();
|
trigger.phaseList.splice(trigger.num,0,'phaseUse|dangxian');
|
||||||
event.next.remove(next);
|
|
||||||
trigger.next.push(next);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
longyin:{
|
longyin:{
|
||||||
|
@ -10588,6 +10583,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
if(get.mode()!=='identity'||player.identity!=='nei') player.addExpose(0.2);
|
||||||
player.draw(2);
|
player.draw(2);
|
||||||
"step 1"
|
"step 1"
|
||||||
player.chooseCard(2,'he',true,'交给'+get.translation(trigger.player)+'两张牌').set('ai',function(card){
|
player.chooseCard(2,'he',true,'交给'+get.translation(trigger.player)+'两张牌').set('ai',function(card){
|
||||||
|
@ -10602,8 +10598,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger.player.storage.xiantu4.push(player);
|
trigger.player.storage.xiantu4.push(player);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
threaten:1.1,
|
threaten:1.1
|
||||||
expose:0.3
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
xiantu1:{audio:true},
|
xiantu1:{audio:true},
|
||||||
|
|
|
@ -2592,10 +2592,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return player!=event.player&&event.num<event.player.hp;
|
return player!=event.player&&event.num<event.player.hp;
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
if(get.attitude(player,event.player)>-2) return false;
|
if(event.player.hasSkillTag('nodamage')) return false;
|
||||||
if(player.hp>2) return true;
|
let tj = player.countCards('hs', function (card) {
|
||||||
if(player.hp==2&&event.player.hp<3) return false;
|
return get.name(card) === 'tao' || get.name(card) === 'jiu';
|
||||||
return player.hp>1;
|
}),
|
||||||
|
att = get.attitude(_status.event.player, event.player),
|
||||||
|
eff = get.damageEffect(event.player, player, _status.event.player, event.nature),
|
||||||
|
fd = event.player.hasSkillTag('filterDamage', null, {
|
||||||
|
player: player,
|
||||||
|
card: event.card
|
||||||
|
}),
|
||||||
|
hp = player.hp + tj;
|
||||||
|
if(player.storage.tairan2) hp -= player.storage.tairan2;
|
||||||
|
if(eff <= 0 || fd || att >= -2 || Math.abs(hp) <= 1) return false;
|
||||||
|
if(hp > 2 || event.player.isLinked() && event.nature && eff > 0) return true;
|
||||||
|
return !event.player.countCards('hs') || event.player.hp > 2 * event.num && !event.player.hasSkillTag('maixie');
|
||||||
},
|
},
|
||||||
logTarget:'player',
|
logTarget:'player',
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -2604,6 +2615,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger.yimie_num=trigger.player.hp-trigger.num;
|
trigger.yimie_num=trigger.player.hp-trigger.num;
|
||||||
trigger.num=trigger.player.hp;
|
trigger.num=trigger.player.hp;
|
||||||
},
|
},
|
||||||
|
ai:{
|
||||||
|
damageBonus:true,
|
||||||
|
skillTagFilter:function(player,tag,arg){
|
||||||
|
return arg && arg.target && arg.target.hp > 1 && player.hp > 1 && get.attitude(player, arg.target) < -2;
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
yimie2:{
|
yimie2:{
|
||||||
trigger:{player:'damageEnd'},
|
trigger:{player:'damageEnd'},
|
||||||
|
|
230
game/game.js
230
game/game.js
|
@ -14388,7 +14388,7 @@
|
||||||
next.setContent(info.content);
|
next.setContent(info.content);
|
||||||
next.skillHidden=event.skillHidden;
|
next.skillHidden=event.skillHidden;
|
||||||
if(info.forceDie) next.forceDie=true;
|
if(info.forceDie) next.forceDie=true;
|
||||||
if(info.forceOut||event.skill=='_turnover') next.includeOut=true;
|
if(info.forceOut) next.includeOut=true;
|
||||||
"step 4"
|
"step 4"
|
||||||
if(player._hookTrigger){
|
if(player._hookTrigger){
|
||||||
for(var i=0;i<player._hookTrigger.length;i++){
|
for(var i=0;i<player._hookTrigger.length;i++){
|
||||||
|
@ -14650,6 +14650,201 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
phase:function(){
|
phase:function(){
|
||||||
|
'step 0'
|
||||||
|
//初始化阶段列表
|
||||||
|
if(!event.phaseList){
|
||||||
|
event.phaseList=['phaseZhunbei','phaseJudge','phaseDraw','phaseUse','phaseDiscard','phaseJieshu'];
|
||||||
|
}
|
||||||
|
if(typeof event.num!='number'){
|
||||||
|
event.num=0;
|
||||||
|
}
|
||||||
|
//规则集中的“回合开始后①”,更新游戏轮数,触发“一轮游戏开始时”
|
||||||
|
var isRound=false;
|
||||||
|
if(!event.skill){
|
||||||
|
isRound=_status.roundSkipped;
|
||||||
|
if(_status.isRoundFilter){
|
||||||
|
isRound=_status.isRoundFilter(event,player);
|
||||||
|
}
|
||||||
|
else if(_status.seatNumSettled){
|
||||||
|
var seatNum=player.getSeatNum();
|
||||||
|
if(seatNum!=0){
|
||||||
|
if(get.itemtype(_status.lastPhasedPlayer)!='player'||seatNum<_status.lastPhasedPlayer.getSeatNum()) isRound=true;
|
||||||
|
_status.lastPhasedPlayer=player;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(player==_status.roundStart) isRound=true;
|
||||||
|
if(isRound){
|
||||||
|
delete _status.roundSkipped;
|
||||||
|
game.roundNumber++;
|
||||||
|
event._roundStart=true;
|
||||||
|
game.updateRoundNumber();
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].isOut()&&game.players[i].outCount>0){
|
||||||
|
game.players[i].outCount--;
|
||||||
|
if(game.players[i].outCount==0&&!game.players[i].outSkills){
|
||||||
|
game.players[i].in();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
event.trigger('roundStart');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_status.globalHistory.push({
|
||||||
|
cardMove:[],
|
||||||
|
custom:[],
|
||||||
|
useCard:[],
|
||||||
|
changeHp:[],
|
||||||
|
everything:[],
|
||||||
|
});
|
||||||
|
var players=game.players.slice(0).concat(game.dead);
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
var current=players[i];
|
||||||
|
current.actionHistory.push({useCard:[],respond:[],skipped:[],lose:[],gain:[],sourceDamage:[],damage:[],custom:[],useSkill:[]});
|
||||||
|
current.stat.push({card:{},skill:{}});
|
||||||
|
if(isRound){
|
||||||
|
current.getHistory().isRound=true;
|
||||||
|
current.getStat().isRound=true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if(isRound){
|
||||||
|
game.getGlobalHistory().isRound=true;
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
//规则集中的“回合开始后②(1v1武将登场专用)”
|
||||||
|
event.trigger('phaseBeforeStart');
|
||||||
|
'step 2'
|
||||||
|
//规则集中的“回合开始后③(处理“游戏开始时”的时机)”
|
||||||
|
event.trigger('phaseBefore');
|
||||||
|
'step 3'
|
||||||
|
//规则集中的“回合开始后④(卑弥呼〖纵傀〗的时机)”
|
||||||
|
event.trigger('phaseBeforeEnd');
|
||||||
|
'step 4'
|
||||||
|
//规则集中的“回合开始后⑤”,进行翻面检测
|
||||||
|
if(player.isTurnedOver()&&!event._noTurnOver){
|
||||||
|
event.cancel();
|
||||||
|
player.turnOver();
|
||||||
|
player.phaseSkipped=true;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player.phaseSkipped=false;
|
||||||
|
player.getHistory().isMe=true;
|
||||||
|
player.getStat().isMe=true;
|
||||||
|
}
|
||||||
|
'step 5'
|
||||||
|
//规则集中的“回合开始后⑥”,更新“当前回合角色”
|
||||||
|
while(ui.dialogs.length){
|
||||||
|
ui.dialogs[0].close();
|
||||||
|
}
|
||||||
|
game.phaseNumber++;
|
||||||
|
player.phaseNumber++;
|
||||||
|
game.broadcastAll(function(player,num,popup){
|
||||||
|
if(lib.config.glow_phase){
|
||||||
|
player.classList.add('glow_phase');
|
||||||
|
}
|
||||||
|
player.phaseNumber=num;
|
||||||
|
if(popup&&lib.config.show_phase_prompt) player.popup('回合开始',null,false);
|
||||||
|
},player,player.phaseNumber,!player.noPhaseDelay);
|
||||||
|
_status.currentPhase=player;
|
||||||
|
_status.discarded=[];
|
||||||
|
game.syncState();
|
||||||
|
game.addVideo('phaseChange',player);
|
||||||
|
if(game.phaseNumber==1){
|
||||||
|
delete player._start_cards;
|
||||||
|
if(lib.configOL.observe){
|
||||||
|
lib.configOL.observeReady=true;
|
||||||
|
game.send('server','config',lib.configOL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
game.log();
|
||||||
|
game.log(player,'的回合开始');
|
||||||
|
player._noVibrate=true;
|
||||||
|
if(get.config('identity_mode')!='zhong'&&get.config('identity_mode')!='purple'&&!_status.connectMode){
|
||||||
|
var num;
|
||||||
|
switch(get.config('auto_identity')){
|
||||||
|
case 'one':num=1;break;
|
||||||
|
case 'two':num=2;break;
|
||||||
|
case 'three':num=3;break;
|
||||||
|
case 'always':num=-1;break;
|
||||||
|
default:num=0;break;
|
||||||
|
}
|
||||||
|
if(num&&!_status.identityShown&&game.phaseNumber>game.players.length*num&&game.showIdentity){
|
||||||
|
if(!_status.video) player.popup('显示身份');
|
||||||
|
_status.identityShown=true;
|
||||||
|
game.showIdentity(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
player.ai.tempIgnore=[];
|
||||||
|
if(ui.land&&ui.land.player==player){
|
||||||
|
game.addVideo('destroyLand');
|
||||||
|
ui.land.destroy();
|
||||||
|
}
|
||||||
|
'step 6'
|
||||||
|
//规则集中的“回合开始后⑦”,国战武将明置武将牌
|
||||||
|
event.trigger('phaseBeginStart');
|
||||||
|
'step 7'
|
||||||
|
//规则集中的“回合开始后⑨”,进行当先,化身等操作
|
||||||
|
//没有⑧ 因为⑧用不到
|
||||||
|
event.trigger('phaseBegin');
|
||||||
|
//阶段部分
|
||||||
|
'step 8'
|
||||||
|
if(num<event.phaseList.length){
|
||||||
|
//规则集中没有的新时机 可以用来插入额外阶段啥的
|
||||||
|
if(player.isIn()) event.trigger('phaseChange')
|
||||||
|
}
|
||||||
|
else event.goto(11);
|
||||||
|
'step 9'
|
||||||
|
if(player.isIn()&&num<event.phaseList.length){
|
||||||
|
var phase=event.phaseList[num].split('|');
|
||||||
|
event.currentPhase=phase[0];
|
||||||
|
var next=player[event.currentPhase]();
|
||||||
|
next.phaseIndex=num;
|
||||||
|
if(phase.length>1){
|
||||||
|
next._extraPhaseReason=phase[1];
|
||||||
|
}
|
||||||
|
if(event.currentPhase=='phaseDraw'||event.currentPhase=='phaseDiscard'){
|
||||||
|
if(!player.noPhaseDelay){
|
||||||
|
if(player==game.me){
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.delayx();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'step 10'
|
||||||
|
if(event.currentPhase=='phaseUse'){
|
||||||
|
game.broadcastAll(function(){
|
||||||
|
if(ui.tempnowuxie){
|
||||||
|
ui.tempnowuxie.close();
|
||||||
|
delete ui.tempnowuxie;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
delete player._noSkill;
|
||||||
|
}
|
||||||
|
event.num++;
|
||||||
|
'step 11'
|
||||||
|
if(event.num<event.phaseList.length){
|
||||||
|
event.goto(8);
|
||||||
|
}
|
||||||
|
else if(!event._phaseEndTriggered){
|
||||||
|
event._phaseEndTriggered=true;
|
||||||
|
event.trigger('phaseEnd');
|
||||||
|
event.redo();
|
||||||
|
}
|
||||||
|
'step 12'
|
||||||
|
event.trigger('phaseAfter');
|
||||||
|
'step 13'
|
||||||
|
//删除当前回合角色 此时处于“不属于任何角色的回合”的阶段
|
||||||
|
game.broadcastAll(function(player){
|
||||||
|
player.classList.remove('glow_phase');
|
||||||
|
delete _status.currentPhase;
|
||||||
|
},player);
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
phase_old:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.phaseZhunbei();
|
player.phaseZhunbei();
|
||||||
"step 1"
|
"step 1"
|
||||||
|
@ -22927,21 +23122,23 @@
|
||||||
var next;
|
var next;
|
||||||
if(evt&&evt.parent&&evt.parent.next){
|
if(evt&&evt.parent&&evt.parent.next){
|
||||||
evt=evt.parent;
|
evt=evt.parent;
|
||||||
next=game.createEvent('phase',null,evt);
|
next=game.createEvent('phase',false,evt);
|
||||||
}
|
}
|
||||||
else if(_status.event.parent&&_status.event.parent.next){
|
else if(_status.event.parent&&_status.event.parent.next){
|
||||||
evt=_status.event.parent;
|
evt=_status.event.parent;
|
||||||
next=game.createEvent('phase',null,evt);
|
next=game.createEvent('phase',false,evt);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
evt=null;
|
evt=null;
|
||||||
next=game.createEvent('phase');
|
next=game.createEvent('phase',false);
|
||||||
}
|
}
|
||||||
if(evt&&insert&&evt.next.contains(next)){
|
if(evt&&insert&&evt.next.contains(next)){
|
||||||
evt.next.remove(next);
|
evt.next.remove(next);
|
||||||
evt.next.unshift(next);
|
evt.next.unshift(next);
|
||||||
}
|
}
|
||||||
next.player=this;
|
next.player=this;
|
||||||
|
next.forceDie=true;
|
||||||
|
next.includeOut=true;
|
||||||
next.skill=skill||_status.event.name;
|
next.skill=skill||_status.event.name;
|
||||||
next.setContent('phase');
|
next.setContent('phase');
|
||||||
return next;
|
return next;
|
||||||
|
@ -22963,7 +23160,7 @@
|
||||||
return next;
|
return next;
|
||||||
},
|
},
|
||||||
phase:function(skill){
|
phase:function(skill){
|
||||||
var next=game.createEvent('phase');
|
var next=game.createEvent('phase',false);
|
||||||
next.player=this;
|
next.player=this;
|
||||||
next.setContent('phase');
|
next.setContent('phase');
|
||||||
if(!_status.roundStart){
|
if(!_status.roundStart){
|
||||||
|
@ -22972,6 +23169,8 @@
|
||||||
if(skill){
|
if(skill){
|
||||||
next.skill=skill;
|
next.skill=skill;
|
||||||
}
|
}
|
||||||
|
next.forceDie=true;
|
||||||
|
next.includeOut=true;
|
||||||
return next;
|
return next;
|
||||||
},
|
},
|
||||||
phaseZhunbei:function(){
|
phaseZhunbei:function(){
|
||||||
|
@ -25046,7 +25245,7 @@
|
||||||
this.removeSkill('mad');
|
this.removeSkill('mad');
|
||||||
},
|
},
|
||||||
tempHide:function(){
|
tempHide:function(){
|
||||||
this.addTempSkill('qianxing',{player:'phaseBegin'});
|
this.addTempSkill('qianxing',{player:'phaseBeginStart'});
|
||||||
},
|
},
|
||||||
addExpose:function(num){
|
addExpose:function(num){
|
||||||
if(typeof this.ai.shown=='number'&&!this.identityShown&&this.ai.shown<1){
|
if(typeof this.ai.shown=='number'&&!this.identityShown&&this.ai.shown<1){
|
||||||
|
@ -26677,7 +26876,7 @@
|
||||||
this.addSkill(skill,checkConflict,true,true);
|
this.addSkill(skill,checkConflict,true,true);
|
||||||
|
|
||||||
if(!expire){
|
if(!expire){
|
||||||
expire=['phaseAfter','phaseBefore'];
|
expire=['phaseAfter','phaseBeforeStart'];
|
||||||
}
|
}
|
||||||
this.tempSkills[skill]=expire;
|
this.tempSkills[skill]=expire;
|
||||||
|
|
||||||
|
@ -32286,6 +32485,7 @@
|
||||||
silent:true,
|
silent:true,
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
priority:-100,
|
priority:-100,
|
||||||
|
lastDo:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.removeSkill('counttrigger');
|
player.removeSkill('counttrigger');
|
||||||
delete player.storage.counttrigger;
|
delete player.storage.counttrigger;
|
||||||
|
@ -32293,9 +32493,10 @@
|
||||||
group:'counttrigger_2',
|
group:'counttrigger_2',
|
||||||
subSkill:{
|
subSkill:{
|
||||||
2:{
|
2:{
|
||||||
trigger:{global:'phaseBefore'},
|
trigger:{global:['phaseBeforeStart','roundStart']},
|
||||||
silent:true,
|
silent:true,
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
|
firstDo:true,
|
||||||
priority:100,
|
priority:100,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.removeSkill('counttrigger');
|
player.removeSkill('counttrigger');
|
||||||
|
@ -32317,7 +32518,10 @@
|
||||||
trigger.cancel();
|
trigger.cancel();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
_turnover:{
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
/*_turnover:{
|
||||||
trigger:{player:'phaseBefore'},
|
trigger:{player:'phaseBefore'},
|
||||||
forced:true,
|
forced:true,
|
||||||
forceOut:true,
|
forceOut:true,
|
||||||
|
@ -32388,7 +32592,7 @@
|
||||||
game.getGlobalHistory().isRound=true;
|
game.getGlobalHistory().isRound=true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},*/
|
||||||
_usecard:{
|
_usecard:{
|
||||||
trigger:{global:'useCardAfter'},
|
trigger:{global:'useCardAfter'},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
@ -38809,7 +39013,9 @@
|
||||||
}
|
}
|
||||||
else if(event._triggered==1){
|
else if(event._triggered==1){
|
||||||
if(event.type=='card') event.trigger('useCardToBegin');
|
if(event.type=='card') event.trigger('useCardToBegin');
|
||||||
if(event.name=='phase'&&!event._begun){
|
event.trigger(event.name+'Begin');
|
||||||
|
event._triggered++;
|
||||||
|
/*if(event.name=='phase'&&!event._begun){
|
||||||
var next=game.createEvent('phasing',false,event);
|
var next=game.createEvent('phasing',false,event);
|
||||||
next.player=event.player;
|
next.player=event.player;
|
||||||
next.skill=event.skill;
|
next.skill=event.skill;
|
||||||
|
@ -38819,7 +39025,7 @@
|
||||||
else{
|
else{
|
||||||
event.trigger(event.name+'Begin');
|
event.trigger(event.name+'Begin');
|
||||||
event._triggered++;
|
event._triggered++;
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(player&&player.classList.contains('dead')&&!event.forceDie&&event.name!='phaseLoop'){
|
if(player&&player.classList.contains('dead')&&!event.forceDie&&event.name!='phaseLoop'){
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 97 KiB |
|
@ -12950,7 +12950,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
_mingzhi1:{
|
_mingzhi1:{
|
||||||
trigger:{player:'phaseBeginStart'},
|
trigger:{player:'phaseBeginStart'},
|
||||||
priority:19,
|
//priority:19,
|
||||||
|
ruleSkill:true,
|
||||||
forced:true,
|
forced:true,
|
||||||
popup:false,
|
popup:false,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
|
Loading…
Reference in New Issue