diff --git a/card/sp.js b/card/sp.js index aa7162cb4..157331ab8 100644 --- a/card/sp.js +++ b/card/sp.js @@ -746,7 +746,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ if(!muniu.cards) return false; lib.skill.muniu_skill.sync(muniu); for(var i=0;i0) player.draw(num); player.removeSkill('drlt_jueyan'); @@ -2862,7 +2864,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ event.node=result.node; } else{ - if(bool2) result.card.discard(); + if(bool2) game.cardsDiscard(result.card); event.finish(); } "step 2" @@ -3183,7 +3185,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ group:["guzheng_count"], subSkill:{ count:{ - trigger:{global:'discardAfter'}, + trigger:{global:['discardAfter','cardsDiscardAfter']}, forced:true, silent:true, popup:false, @@ -3784,13 +3786,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.showCards(event.cards); "step 1" var num=0; + var cards2=[]; for(var i=0;i0; }, content:function(){ "step 0" - event.togain=[]; - event.shown=[]; - for(var i=0;ievent.num2){ - target.chooseToDiscard('he','弃置一张牌,或令'+get.translation(player)+'摸一张牌').set('ai',function(card){ - if(_status.event.goon) return 6-get.value(card); - return 0; - }).set('goon',get.attitude(target,player)<0); - } - else{ + if(event.num1<=event.num2){ target.chat(lib.skill.gushe.chat[player.storage.gushe]); game.delay(); player.storage.gushe++; @@ -6194,15 +6185,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(player.storage.gushe>=7){ player.die(); } - else{ - player.chooseToDiscard('弃置一张牌,或摸一张牌').set('ai',function(){return -1;}); - //event.finish(); - } } 'step 1' + if(event.num1>=event.num2){ + target.chooseToDiscard('he','弃置一张牌,或令'+get.translation(player)+'摸一张牌').set('ai',function(card){ + if(_status.event.goon) return 6-get.value(card); + return 0; + }).set('goon',get.attitude(target,player)<0); + } + else event.goto(3); + 'step 2' if(!result.bool){ player.draw(); } + 'step 3' + if(event.num1<=event.num2){ + player.chooseToDiscard('弃置一张牌,或摸一张牌').set('ai',function(){return -1;}); + } + else event.finish(); + 'step 4' + if(!result.bool) player.draw(); }, ai:{ order:7, @@ -6437,7 +6439,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var index=player.storage.shefu2.indexOf(trigger.card.name); if(index!=-1){ var card=player.storage.shefu[index]; - card.discard(); + game.cardsDiscard(card); player.$throw(card); player.storage.shefu.splice(index,1); player.storage.shefu2.splice(index,1); @@ -6925,15 +6927,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } 'step 2' var gained=[]; + var tothrow=[]; for(var i=0;i0) player.draw(num); - while(player.storage.yinbing.length){ - player.storage.yinbing.shift().discard(); - } + game.cardsDiscard(player.storage.yinbing); + player.storage.yinbing=[]; player.syncStorage('yinbing'); player.unmarkSkill('yinbing'); } @@ -8146,8 +8147,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.$throw(result.links); for(var i=0;i0; }, content:function(){ "step 0" - event.togain=[]; - for(var i=0;i=11); - }); + },'h'); }, filter:function(event){ return event.type=='compare'&&!event.directresult; @@ -1648,9 +1648,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } if(event.togain.length){ - for(var i=0;i1||n2.length>2||(n1.length==1&&n2.length==2)){ - target.chooseToDiscard('弃置一张锦囊牌,或两张非锦囊牌',true,'he',function(card,player){ - if(!lib.filter.cardDiscardable(card,player)) return false; - if(!_status.event.nontrick){ - return get.type(card,'trick')=='trick'; - } - if(ui.selected.cards.length){ - return get.type(card,'trick')!='trick'; - } - return true; - }).set('ai',function(card){ - if(get.type(card,'trick')=='trick'){ - return 8-get.value(card); - } - return -get.value(card); - }).set('selectCard',function(){ - if(ui.selected.cards.length==1&&get.type(ui.selected.cards[0],'trick')=='trick'){ - return 1; - } - return 2; - }).set('nontrick',n2.length>=2).set('complexCard',true); - } - else{ - if(n1.length){ - target.discard(n1); - } - else if(n2.length){ - target.discard(n2); - } + 'step 2' + target.chooseToDiscard(true).prompt='请弃置一张锦囊牌,或依次弃置两张非锦囊牌。'; + 'step 3' + if((!result.cards||get.type(result.cards[0],'trick')!='trick')&&target.countCards('he',{type:['trick','delay']})){ + target.chooseToDiscard(true,function(card){ + return get.type(card,'trick')!='trick'; + }).prompt='请弃置第二张非锦囊牌'; } }, ai:{ @@ -4019,7 +3989,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.logSkill('chunlao'); player.$throw(result.links); player.storage.chunlao.remove(result.links[0]); - result.links[0].discard(); + game.cardsDiscard(result.links[0]); player.syncStorage('chunlao'); target.useCard({name:'jiu'},target); if(!player.storage.chunlao.length){ @@ -5989,7 +5959,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ player.$throw(player.storage.xinpojun2,1000); for(var i=0;i