2015-07-08 04:14:53 +00:00
|
|
|
|
'use strict';
|
2016-07-09 15:23:11 +00:00
|
|
|
|
card.sp={
|
2016-04-12 07:49:02 +00:00
|
|
|
|
connect:true,
|
2015-04-29 03:25:17 +00:00
|
|
|
|
card:{
|
2016-07-09 15:23:11 +00:00
|
|
|
|
yinyueqiang:{
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'equip',
|
|
|
|
|
subtype:'equip1',
|
|
|
|
|
distance:{attackFrom:-2},
|
|
|
|
|
ai:{
|
|
|
|
|
basic:{
|
|
|
|
|
equipValue:4
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
skills:['yinyueqiang']
|
|
|
|
|
},
|
2015-04-29 03:25:17 +00:00
|
|
|
|
muniu:{
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'equip',
|
|
|
|
|
subtype:'equip5',
|
2017-01-18 03:00:22 +00:00
|
|
|
|
nomod:true,
|
2017-01-29 05:26:58 +00:00
|
|
|
|
onEquip:function(){
|
|
|
|
|
player.markSkill('muniu_skill6');
|
|
|
|
|
},
|
|
|
|
|
onLose:function(){
|
|
|
|
|
player.unmarkSkill('muniu_skill6');
|
2017-02-06 06:56:22 +00:00
|
|
|
|
if(event.parent.type!='equip'&&card&&card.cards&&card.cards.length){
|
|
|
|
|
player.$throw(card.cards,1000);
|
|
|
|
|
player.popup('muniu');
|
|
|
|
|
game.log(card,'掉落了',card.cards);
|
|
|
|
|
while(card.cards.length){
|
|
|
|
|
var card2=card.cards.shift();
|
|
|
|
|
if(card2.parentNode.id=='special'){
|
|
|
|
|
ui.discardPile.appendChild(card2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-01-29 05:26:58 +00:00
|
|
|
|
},
|
|
|
|
|
equipDelay:false,
|
|
|
|
|
loseDelay:false,
|
|
|
|
|
skills:['muniu_skill','muniu_skill2','muniu_skill6','muniu_skill7'],
|
2015-04-29 03:25:17 +00:00
|
|
|
|
ai:{
|
|
|
|
|
basic:{
|
|
|
|
|
equipValue:function(card){
|
|
|
|
|
if(card.card) return 8+card.card.length;
|
|
|
|
|
return 8;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2016-07-09 15:23:11 +00:00
|
|
|
|
},
|
|
|
|
|
du:{
|
|
|
|
|
type:'basic',
|
|
|
|
|
fullskin:true,
|
|
|
|
|
ai:{
|
|
|
|
|
value:-5,
|
|
|
|
|
useful:6,
|
2017-02-17 02:23:52 +00:00
|
|
|
|
result:{
|
|
|
|
|
player:function(player,target){
|
|
|
|
|
if(player.hasSkillTag('usedu')) return 5;
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
order:7.5
|
2016-07-10 02:48:45 +00:00
|
|
|
|
},
|
|
|
|
|
enable:true,
|
2017-01-15 09:55:22 +00:00
|
|
|
|
modTarget:true,
|
2016-07-10 02:48:45 +00:00
|
|
|
|
filterTarget:function(card,player,target){
|
|
|
|
|
return target==player;
|
|
|
|
|
},
|
|
|
|
|
delay:false,
|
|
|
|
|
content:function(){},
|
|
|
|
|
selectTarget:-1
|
2016-07-09 15:23:11 +00:00
|
|
|
|
},
|
|
|
|
|
shengdong:{
|
|
|
|
|
fullskin:true,
|
2017-02-09 13:32:31 +00:00
|
|
|
|
enable:true,
|
2017-02-05 15:22:29 +00:00
|
|
|
|
chongzhu:function(){
|
2017-02-11 14:16:35 +00:00
|
|
|
|
return game.countPlayer()<=2;
|
2017-02-05 15:22:29 +00:00
|
|
|
|
},
|
2017-02-09 10:51:08 +00:00
|
|
|
|
singleCard:true,
|
2016-07-09 15:23:11 +00:00
|
|
|
|
type:'trick',
|
|
|
|
|
selectTarget:2,
|
|
|
|
|
multitarget:true,
|
|
|
|
|
targetprompt:['交给其一张牌','得两张牌'],
|
|
|
|
|
filterTarget:function(card,player,target){
|
|
|
|
|
return target!=player;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
2017-03-27 08:48:22 +00:00
|
|
|
|
if(!player.countCards('h')){
|
2016-07-09 15:23:11 +00:00
|
|
|
|
event.finish();
|
|
|
|
|
}
|
|
|
|
|
else{
|
2017-02-09 10:51:08 +00:00
|
|
|
|
event.target1=target;
|
|
|
|
|
event.target2=event.addedTarget;
|
2016-07-09 15:23:11 +00:00
|
|
|
|
player.chooseCard('h','将一张手牌交给'+get.translation(event.target1),true);
|
|
|
|
|
}
|
|
|
|
|
'step 1'
|
2017-02-09 12:12:24 +00:00
|
|
|
|
player.$giveAuto(result.cards,event.target1);
|
2017-01-13 18:51:13 +00:00
|
|
|
|
event.target1.gain(result.cards,player);
|
2016-07-09 15:23:11 +00:00
|
|
|
|
'step 2'
|
2017-03-27 08:48:22 +00:00
|
|
|
|
if(!event.target1.countCards('h')){
|
2016-07-09 15:23:11 +00:00
|
|
|
|
event.finish();
|
|
|
|
|
}
|
|
|
|
|
else{
|
2017-03-27 08:48:22 +00:00
|
|
|
|
var he=event.target1.getCards('he');
|
2016-07-09 15:23:11 +00:00
|
|
|
|
if(he.length<=2){
|
|
|
|
|
event.directresult=he;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
event.target1.chooseCard('he','将两张牌交给'+get.translation(event.target2),2,true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
'step 3'
|
|
|
|
|
if(!event.directresult){
|
|
|
|
|
event.directresult=result.cards;
|
|
|
|
|
}
|
2017-02-09 12:12:24 +00:00
|
|
|
|
event.target1.$giveAuto(event.directresult,event.target2);
|
2017-01-13 18:51:13 +00:00
|
|
|
|
event.target2.gain(event.directresult,event.target1);
|
2016-07-09 15:23:11 +00:00
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:2.5,
|
|
|
|
|
value:[4,1],
|
|
|
|
|
useful:1,
|
|
|
|
|
wuxie:function(){
|
|
|
|
|
return 0;
|
|
|
|
|
},
|
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
|
|
|
|
var ok=false;
|
2017-03-27 08:48:22 +00:00
|
|
|
|
var hs=player.getCards('h');
|
2017-02-09 13:32:31 +00:00
|
|
|
|
if(hs.length<=1) return 0;
|
2016-07-09 15:23:11 +00:00
|
|
|
|
for(var i=0;i<hs.length;i++){
|
|
|
|
|
if(ai.get.value(hs[i])<=5){
|
|
|
|
|
ok=true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!ok) return 0;
|
|
|
|
|
if(ui.selected.targets.length==1) return 2;
|
2017-03-27 08:48:22 +00:00
|
|
|
|
if(target.countCards('he')==0) return 0;
|
2016-07-09 15:23:11 +00:00
|
|
|
|
if(player.hasFriend()) return -1;
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
zengbin:{
|
|
|
|
|
fullskin:true,
|
|
|
|
|
enable:true,
|
|
|
|
|
type:'trick',
|
|
|
|
|
filterTarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
target.draw(3);
|
|
|
|
|
'step 1'
|
2017-03-27 09:29:09 +00:00
|
|
|
|
if(target.countCards('he',{type:'basic'})<target.countCards('he')){
|
2016-07-09 15:23:11 +00:00
|
|
|
|
target.chooseToDiscard('弃置一张非基本牌(或取消并弃置两张牌)','he',function(card){
|
|
|
|
|
return get.type(card)!='basic';
|
2016-09-01 15:53:32 +00:00
|
|
|
|
}).set('ai',function(card){
|
|
|
|
|
if(_status.event.goon) return 7-ai.get.value(card);
|
2017-03-27 09:29:09 +00:00
|
|
|
|
return 9-ai.get.value(card);
|
|
|
|
|
}).set('goon',target.countCards('h',{type:'basic'})>2);
|
2016-07-09 15:23:11 +00:00
|
|
|
|
event.more=true;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
target.chooseToDiscard('he',2,true);
|
|
|
|
|
}
|
|
|
|
|
'step 2'
|
|
|
|
|
if(event.more&&!result.bool){
|
|
|
|
|
target.chooseToDiscard('he',2,true);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:7,
|
|
|
|
|
useful:4,
|
|
|
|
|
value:10,
|
2017-02-18 06:36:08 +00:00
|
|
|
|
tag:{
|
|
|
|
|
draw:2
|
|
|
|
|
},
|
2016-07-09 15:23:11 +00:00
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
|
|
|
|
if(target.num('j','lebu')) return 0;
|
2017-03-27 08:48:22 +00:00
|
|
|
|
return Math.max(1,2-target.countCards('h')/10);
|
2016-07-09 15:23:11 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
caomu:{
|
|
|
|
|
fullskin:true,
|
|
|
|
|
enable:true,
|
|
|
|
|
type:'delay',
|
|
|
|
|
filterTarget:function(card,player,target){
|
|
|
|
|
return (lib.filter.judge(card,player,target)&&player!=target);
|
|
|
|
|
},
|
|
|
|
|
judge:function(card){
|
|
|
|
|
if(get.suit(card)=='club') return 0;
|
|
|
|
|
return -3;
|
|
|
|
|
},
|
|
|
|
|
effect:function(){
|
|
|
|
|
if(result.bool==false){
|
|
|
|
|
player.addTempSkill('caomu_skill','phaseAfter');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
basic:{
|
|
|
|
|
order:1,
|
|
|
|
|
useful:1,
|
|
|
|
|
value:4.5,
|
|
|
|
|
},
|
|
|
|
|
result:{
|
|
|
|
|
player:function(player,target){
|
2017-02-11 13:42:46 +00:00
|
|
|
|
return game.countPlayer(function(current){
|
|
|
|
|
if(get.distance(target,current)<=1&¤t!=target){
|
|
|
|
|
var att=ai.get.attitude(player,current);
|
2016-07-09 15:23:11 +00:00
|
|
|
|
if(att>3){
|
2017-02-11 13:42:46 +00:00
|
|
|
|
return 1.1;
|
2016-07-09 15:23:11 +00:00
|
|
|
|
}
|
|
|
|
|
else if(att>0){
|
2017-02-11 13:42:46 +00:00
|
|
|
|
return 1;
|
2016-07-09 15:23:11 +00:00
|
|
|
|
}
|
|
|
|
|
else if(att<-3){
|
2017-02-11 13:42:46 +00:00
|
|
|
|
return -1.1;
|
2016-07-09 15:23:11 +00:00
|
|
|
|
}
|
|
|
|
|
else if(att<0){
|
2017-02-11 13:42:46 +00:00
|
|
|
|
return -1;
|
2016-07-09 15:23:11 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2017-02-11 13:42:46 +00:00
|
|
|
|
});
|
2016-07-09 15:23:11 +00:00
|
|
|
|
},
|
|
|
|
|
target:-1
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
|
|
|
|
skill:{
|
2016-07-09 15:23:11 +00:00
|
|
|
|
yinyueqiang:{
|
|
|
|
|
trigger:{player:['useCard','respondAfter']},
|
|
|
|
|
direct:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(_status.currentPhase==player) return false;
|
|
|
|
|
if(!event.cards) return false;
|
|
|
|
|
if(event.cards.length!=1) return false;
|
|
|
|
|
if(lib.filter.autoRespondSha.call({player:player})) return false;
|
|
|
|
|
return get.color(event.cards[0])=='black';
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
2016-08-10 16:45:56 +00:00
|
|
|
|
'step 0'
|
2017-01-15 06:58:39 +00:00
|
|
|
|
var next=player.chooseToUse(get.prompt('yinyueqiang'),{name:'sha'}).aidelay=true;
|
2016-08-18 10:51:06 +00:00
|
|
|
|
next.logSkill='yinyueqiang';
|
|
|
|
|
next.noButton=true;
|
2016-08-10 16:45:56 +00:00
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
game.delay();
|
|
|
|
|
}
|
2016-07-09 15:23:11 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2015-04-29 03:25:17 +00:00
|
|
|
|
muniu_skill:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
filterCard:true,
|
|
|
|
|
check:function(card){
|
2016-07-09 15:23:11 +00:00
|
|
|
|
if(card.name=='du') return 20;
|
2015-12-07 11:15:35 +00:00
|
|
|
|
var player=_status.event.player;
|
2017-03-27 08:48:22 +00:00
|
|
|
|
var nh=player.countCards('h');
|
2017-02-15 01:04:48 +00:00
|
|
|
|
if(!player.needsToDiscard()){
|
2015-12-07 11:15:35 +00:00
|
|
|
|
if(nh<3) return 0;
|
|
|
|
|
if(nh==3) return 5-ai.get.value(card);
|
|
|
|
|
return 7-ai.get.value(card);
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
return 10-ai.get.useful(card);
|
|
|
|
|
},
|
|
|
|
|
discard:false,
|
|
|
|
|
lose:true,
|
2016-04-04 11:20:05 +00:00
|
|
|
|
sync:function(muniu){
|
|
|
|
|
if(game.online){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if(!muniu.cards){
|
|
|
|
|
muniu.cards=[];
|
|
|
|
|
}
|
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
|
|
|
|
if(!muniu.cards[i].parentNode||muniu.cards[i].parentNode.id!='special'){
|
|
|
|
|
muniu.cards.splice(i--,1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
game.broadcast(function(muniu,cards){
|
|
|
|
|
muniu.cards=cards;
|
|
|
|
|
},muniu,muniu.cards);
|
|
|
|
|
},
|
2015-10-04 15:18:34 +00:00
|
|
|
|
filter:function(event,player){
|
2017-03-27 08:48:22 +00:00
|
|
|
|
return player.countCards('h')>0;
|
2015-10-04 15:18:34 +00:00
|
|
|
|
},
|
2015-04-29 03:25:17 +00:00
|
|
|
|
prepare:function(cards,player){
|
|
|
|
|
player.$give(1,player,false);
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
"step 0"
|
|
|
|
|
for(var i=0;i<cards.length;i++){
|
|
|
|
|
ui.special.appendChild(cards[i]);
|
|
|
|
|
}
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
2015-12-08 13:54:44 +00:00
|
|
|
|
if(!muniu){
|
|
|
|
|
for(var i=0;i<cards.length;i++){
|
|
|
|
|
ui.discardPile.appendChild(cards[i]);
|
|
|
|
|
}
|
|
|
|
|
event.finish();
|
|
|
|
|
return;
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
if(muniu.cards==undefined) muniu.cards=[];
|
|
|
|
|
muniu.cards.push(cards[0]);
|
2016-04-04 11:20:05 +00:00
|
|
|
|
game.broadcast(function(muniu,cards){
|
|
|
|
|
muniu.cards=cards;
|
|
|
|
|
},muniu,muniu.cards);
|
2017-02-11 13:42:46 +00:00
|
|
|
|
var players=game.filterPlayer(function(current){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
if(!current.getEquip(5)&¤t!=player&&!current.isTurnedOver()&&
|
2017-02-11 13:42:46 +00:00
|
|
|
|
ai.get.attitude(player,current)>=3&&ai.get.attitude(current,player)>=3){
|
|
|
|
|
return true;
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
2017-02-11 13:42:46 +00:00
|
|
|
|
});
|
2015-04-29 03:25:17 +00:00
|
|
|
|
players.sort(lib.sort.seat);
|
|
|
|
|
var choice=players[0];
|
2016-04-04 11:20:05 +00:00
|
|
|
|
var next=player.chooseTarget('是否移动木牛流马?',function(card,player,target){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
return !target.isMin()&&player!=target&&!target.getEquip(5);
|
2016-04-04 11:20:05 +00:00
|
|
|
|
});
|
|
|
|
|
next.set('ai',function(target){
|
|
|
|
|
return target==_status.event.choice?1:-1;
|
|
|
|
|
});
|
|
|
|
|
next.set('choice',choice);
|
2015-04-29 03:25:17 +00:00
|
|
|
|
"step 1"
|
|
|
|
|
if(result.bool){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var card=player.getEquip(5);
|
2015-04-29 03:25:17 +00:00
|
|
|
|
result.targets[0].equip(card);
|
|
|
|
|
player.$give(card,result.targets[0]);
|
2017-01-14 06:20:15 +00:00
|
|
|
|
player.line(result.targets,'green');
|
2015-04-29 03:25:17 +00:00
|
|
|
|
game.delay();
|
|
|
|
|
}
|
2017-01-29 05:26:58 +00:00
|
|
|
|
else{
|
|
|
|
|
player.updateMarks();
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
save:true,
|
|
|
|
|
respondSha:true,
|
|
|
|
|
respondShan:true,
|
2016-07-01 03:09:23 +00:00
|
|
|
|
skillTagFilter:function(player,tag){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
2016-07-01 03:09:23 +00:00
|
|
|
|
if(!muniu||!muniu.cards) return false;
|
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
|
|
|
|
switch(tag){
|
|
|
|
|
case 'respondSha':if(muniu.cards[i].name=='sha') return true;break;
|
|
|
|
|
case 'respondShan':if(muniu.cards[i].name=='shan') return true;break;
|
|
|
|
|
case 'save':{
|
|
|
|
|
if(muniu.cards[i].name=='tao'||muniu.cards[i].name=='spell_zhiliaoshui') return true;
|
|
|
|
|
if(player==_status.event.dying){
|
|
|
|
|
if(muniu.cards[i].name=='jiu'||muniu.cards[i].name=='tianxianjiu') return true;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
2015-04-29 03:25:17 +00:00
|
|
|
|
order:1,
|
2015-07-08 04:14:53 +00:00
|
|
|
|
expose:0.1,
|
2015-04-29 03:25:17 +00:00
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
muniu_skill2:{
|
|
|
|
|
group:['muniu_skill3','muniu_skill4']
|
|
|
|
|
},
|
|
|
|
|
muniu_skill3:{
|
|
|
|
|
trigger:{player:'chooseToRespondBegin'},
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(event.responded) return false;
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
2015-04-29 03:25:17 +00:00
|
|
|
|
if(!muniu.cards) return false;
|
2016-04-04 11:20:05 +00:00
|
|
|
|
lib.skill.muniu_skill.sync(muniu);
|
2015-04-29 03:25:17 +00:00
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
2016-08-28 00:30:25 +00:00
|
|
|
|
if(event.filterCard(muniu.cards[i],player,event)) return true;
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
direct:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
"step 0"
|
2017-03-27 09:12:10 +00:00
|
|
|
|
player.chooseButton(['木牛流马',player.getEquip(5).cards]).set('filterButton',function(button){
|
2016-05-07 03:12:04 +00:00
|
|
|
|
var evt=_status.event.getTrigger();
|
2016-04-05 05:18:30 +00:00
|
|
|
|
if(evt&&evt.filterCard){
|
2016-08-28 00:30:25 +00:00
|
|
|
|
return evt.filterCard(button.link,_status.event.player,evt);
|
2016-04-05 05:18:30 +00:00
|
|
|
|
}
|
|
|
|
|
return true;
|
2016-08-28 00:30:25 +00:00
|
|
|
|
}).set('ai',function(button){
|
|
|
|
|
var evt=_status.event.getTrigger();
|
|
|
|
|
if(evt&&evt.ai){
|
|
|
|
|
var tmp=_status.event;
|
|
|
|
|
_status.event=evt;
|
|
|
|
|
var result=evt.ai(button.link,_status.event.player,evt);
|
|
|
|
|
_status.event=tmp;
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
return 1;
|
2016-04-05 05:18:30 +00:00
|
|
|
|
});
|
2015-04-29 03:25:17 +00:00
|
|
|
|
"step 1"
|
|
|
|
|
if(result.bool){
|
|
|
|
|
trigger.untrigger();
|
|
|
|
|
trigger.responded=true;
|
2016-04-05 05:18:30 +00:00
|
|
|
|
trigger.result={bool:true,card:result.links[0]};
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
2016-04-05 05:18:30 +00:00
|
|
|
|
muniu.cards.remove(result.links[0]);
|
|
|
|
|
lib.skill.muniu_skill.sync(muniu);
|
2017-01-29 05:26:58 +00:00
|
|
|
|
player.updateMarks();
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:4,
|
|
|
|
|
useful:-1,
|
|
|
|
|
value:-1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
muniu_skill4:{
|
|
|
|
|
enable:'chooseToUse',
|
|
|
|
|
filter:function(event,player){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
2015-04-29 03:25:17 +00:00
|
|
|
|
if(!muniu.cards) return false;
|
2016-04-04 11:20:05 +00:00
|
|
|
|
lib.skill.muniu_skill.sync(muniu);
|
2015-04-29 03:25:17 +00:00
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
|
|
|
|
if(event.filterCard(muniu.cards[i],player)) return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
2016-04-05 05:18:30 +00:00
|
|
|
|
chooseButton:{
|
|
|
|
|
dialog:function(event,player){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
return ui.create.dialog('木牛流马',player.getEquip(5).cards,'hidden');
|
2016-04-05 05:18:30 +00:00
|
|
|
|
},
|
|
|
|
|
filter:function(button,player){
|
|
|
|
|
var evt=_status.event.getParent();
|
|
|
|
|
if(evt&&evt.filterCard){
|
2016-08-28 00:30:25 +00:00
|
|
|
|
return evt.filterCard(button.link,player,evt);
|
2016-04-05 05:18:30 +00:00
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
},
|
|
|
|
|
check:function(button){
|
2016-07-17 03:28:46 +00:00
|
|
|
|
if(button.link.name=='du') return -2;
|
2016-04-04 05:29:08 +00:00
|
|
|
|
var player=_status.event.player;
|
2017-03-27 08:48:22 +00:00
|
|
|
|
if(button.link.name=='xingjiegoutong'&&player.countCards('h')>1) return -2;
|
2015-05-05 09:23:31 +00:00
|
|
|
|
if(get.select(get.info(button.link).selectTarget)[1]==-1){
|
2015-05-01 02:36:56 +00:00
|
|
|
|
if(get.type(button.link)=='delay') return -1;
|
|
|
|
|
if(get.type(button.link)=='equip'){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var current=player.getCards('e',{subtype:get.subtype(button.link)})[0];
|
2015-05-01 02:36:56 +00:00
|
|
|
|
if(current&&ai.get.equipValue(current)>=ai.get.equipValue(button.link)) return -1;
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
if(get.tag(button.link,'multitarget')) return -1;
|
|
|
|
|
if(button.link.name=='huoshaolianying') return -1;
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
2016-04-04 05:29:08 +00:00
|
|
|
|
if(button.link.name=='jiu'){
|
|
|
|
|
if(ai.get.effect(player,{name:'jiu'},player)>0){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
return 1;
|
2016-04-05 05:18:30 +00:00
|
|
|
|
},
|
|
|
|
|
backup:function(links,player){
|
|
|
|
|
return {
|
|
|
|
|
filterCard:function(){return false},
|
|
|
|
|
selectCard:-1,
|
|
|
|
|
viewAs:links[0],
|
|
|
|
|
onuse:function(result,player){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
2016-04-05 05:18:30 +00:00
|
|
|
|
if(muniu&&muniu.cards){
|
|
|
|
|
muniu.cards.remove(result.card);
|
|
|
|
|
lib.skill.muniu_skill.sync(muniu);
|
|
|
|
|
}
|
2017-01-29 05:26:58 +00:00
|
|
|
|
player.updateMarks();
|
2016-04-05 05:18:30 +00:00
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
2016-04-05 05:18:30 +00:00
|
|
|
|
},
|
|
|
|
|
prompt:function(links,player){
|
|
|
|
|
return '选择'+get.translation(links)+'的目标';
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:4,
|
|
|
|
|
result:{
|
|
|
|
|
player:function(player){
|
2017-02-28 04:16:46 +00:00
|
|
|
|
if(_status.event.dying) return ai.get.attitude(player,_status.event.dying);
|
2015-04-29 03:25:17 +00:00
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
useful:-1,
|
|
|
|
|
value:-1
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-01-29 05:26:58 +00:00
|
|
|
|
muniu_skill6:{
|
|
|
|
|
mark:true,
|
|
|
|
|
intro:{
|
|
|
|
|
content:function(storage,player){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
2017-01-29 05:26:58 +00:00
|
|
|
|
if(!muniu||!muniu.cards||!muniu.cards.length) return '共有〇张牌';
|
|
|
|
|
if(player.isUnderControl(true)){
|
|
|
|
|
return get.translation(muniu.cards);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
return '共有'+get.cnNumber(muniu.cards.length)+'张牌';
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mark:function(dialog,storage,player){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
2017-01-29 05:26:58 +00:00
|
|
|
|
if(!muniu||!muniu.cards||!muniu.cards.length) return '共有〇张牌';
|
|
|
|
|
if(player.isUnderControl(true)){
|
|
|
|
|
dialog.addAuto(muniu.cards);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
return '共有'+get.cnNumber(muniu.cards.length)+'张牌';
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
markcount:function(storage,player){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
2017-01-29 05:26:58 +00:00
|
|
|
|
if(muniu&&muniu.cards) return muniu.cards.length;
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2015-04-29 03:25:17 +00:00
|
|
|
|
muniu_skill7:{
|
|
|
|
|
filter:function(){return false},
|
|
|
|
|
hiddenCard:function(player,name){
|
2017-03-27 09:12:10 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
2015-04-29 03:25:17 +00:00
|
|
|
|
if(!muniu.cards) return false;
|
2016-04-04 11:20:05 +00:00
|
|
|
|
lib.skill.muniu_skill.sync(muniu);
|
2015-04-29 03:25:17 +00:00
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
|
|
|
|
if(muniu.cards[i].name==name) return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
},
|
2016-07-09 15:23:11 +00:00
|
|
|
|
_du:{
|
|
|
|
|
trigger:{player:['useCardAfter','respondAfter','discardAfter']},
|
|
|
|
|
popup:false,
|
|
|
|
|
forced:true,
|
|
|
|
|
filter:function(event,player){
|
2017-02-17 02:23:52 +00:00
|
|
|
|
if(player.hasSkillTag('nodu')) return false;
|
2016-07-09 15:23:11 +00:00
|
|
|
|
if(event.cards){
|
|
|
|
|
for(var i=0;i<event.cards.length;i++){
|
|
|
|
|
if(event.cards[i].name=='du'&&event.cards[i].original!='j') return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
2016-07-12 01:52:41 +00:00
|
|
|
|
var num=0;
|
|
|
|
|
for(var i=0;i<trigger.cards.length;i++){
|
|
|
|
|
if(trigger.cards[i].name=='du'&&trigger.cards[i].original!='j') num++;
|
|
|
|
|
}
|
2016-07-09 15:23:11 +00:00
|
|
|
|
player.popup('毒','wood');
|
2016-07-12 01:52:41 +00:00
|
|
|
|
player.loseHp(num);
|
2016-07-09 15:23:11 +00:00
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
caomu_skill:{
|
|
|
|
|
unique:true,
|
|
|
|
|
trigger:{player:'phaseDrawBegin'},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
silent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
trigger.num--;
|
|
|
|
|
},
|
|
|
|
|
group:'caomu_skill2'
|
|
|
|
|
},
|
|
|
|
|
caomu_skill2:{
|
|
|
|
|
trigger:{player:'phaseDrawAfter'},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
silent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
var targets=game.filterPlayer(function(current){
|
|
|
|
|
return get.distance(player,current)<=1&&player!=current;
|
|
|
|
|
});
|
|
|
|
|
if(targets.length){
|
|
|
|
|
game.asyncDraw(targets);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
|
|
|
|
translate:{
|
2016-07-09 15:23:11 +00:00
|
|
|
|
yinyueqiang:'银月枪',
|
|
|
|
|
yinyueqiang_info:'你的回合外,每当你使用或打出了一张黑色手牌(若为使用则在它结算之前),你可以立即对你攻击范围内的任意一名角色使用一张【杀】',
|
2015-04-29 03:25:17 +00:00
|
|
|
|
muniu:'木牛流马',
|
|
|
|
|
muniu_bg:'牛',
|
|
|
|
|
muniu_skill:'木牛',
|
|
|
|
|
muniu_skill2:'流马',
|
|
|
|
|
muniu_skill3:'流马',
|
|
|
|
|
muniu_skill4:'流马',
|
2017-01-29 05:26:58 +00:00
|
|
|
|
muniu_skill6:'木牛流马',
|
|
|
|
|
muniu_skill6_bg:'辎',
|
2016-04-05 05:18:30 +00:00
|
|
|
|
muniu_skill4_backup:'流马',
|
2015-04-29 03:25:17 +00:00
|
|
|
|
muniu_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
|
|
|
|
muniu_skill_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
2016-07-09 15:23:11 +00:00
|
|
|
|
du:'毒',
|
|
|
|
|
du_info:'当你因使用、打出或弃置而失去此牌时,你失去一点体力',
|
|
|
|
|
shengdong:'声东击西',
|
2017-02-09 10:51:08 +00:00
|
|
|
|
shengdong_info:'出牌阶段,对一名其他角色使用。你交给目标角色一张手牌,若如此做,其将两张牌交给另一名由你选择的其他角色(不足则全给,存活角色不超过2时可重铸)',
|
2016-07-09 15:23:11 +00:00
|
|
|
|
zengbin:'增兵减灶',
|
|
|
|
|
zengbin_info:'出牌阶段,对一名角色使用。目标角色摸三张牌,然后选择一项:1.弃置一张非基本牌;2.弃置两张牌',
|
|
|
|
|
caomu:'草木皆兵',
|
|
|
|
|
caomu_info:'出牌阶段,对一名其他角色使用。将【草木皆兵】放置于该角色的判定区里,若判定结果不为梅花:摸牌阶段,目标角色少摸一张牌;摸牌阶段结束时,与其距离为1的角色各摸一张牌',
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
|
|
|
|
list:[
|
2016-07-09 15:23:11 +00:00
|
|
|
|
['spade',1,'caomu'],
|
|
|
|
|
['club',3,'caomu'],
|
|
|
|
|
['heart',12,'shengdong',],
|
|
|
|
|
['club',9,'shengdong'],
|
|
|
|
|
['spade',9,'shengdong'],
|
|
|
|
|
['diamond',4,'zengbin'],
|
|
|
|
|
['heart',6,'zengbin'],
|
|
|
|
|
['spade',7,'zengbin'],
|
|
|
|
|
['spade',3,'du'],
|
|
|
|
|
['spade',9,'du'],
|
|
|
|
|
['club',3,'du'],
|
|
|
|
|
['club',9,'du'],
|
|
|
|
|
['diamond',5,'du'],
|
|
|
|
|
['diamond',9,'du'],
|
2015-04-29 03:25:17 +00:00
|
|
|
|
["diamond",5,'muniu'],
|
2016-07-09 15:23:11 +00:00
|
|
|
|
["diamond",12,'yinyueqiang'],
|
2015-04-29 03:25:17 +00:00
|
|
|
|
],
|
|
|
|
|
}
|