v1.9.90.5

This commit is contained in:
Spmario233 2019-07-31 20:01:43 +08:00 committed by GitHub
parent 5b85397f4b
commit 1b798620e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 203 additions and 88 deletions

View File

@ -148,7 +148,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(get.mode()=='guozhan'&&!player.isMajor()) return false;
if(player.hasSkill('xietianzi')) return false;
if(_status.currentPhase!=player) return false;
return (event||_status.event).getParent().name=='phaseUse';
var evt=event||_status.event;
var evt2=evt.getParent('chooseToUse');
return evt.type=='phase'||evt2.type=='phase';
},
filterTarget:function(card,player,target){
return player==target;

View File

@ -662,12 +662,40 @@ game.import('card',function(lib,game,ui,get,ai,_status){
enable:true,
selectTarget:-1,
cardcolor:'red',
reverseOrder:true,
global:'taoyuan_nowuxie',
//reverseOrder:true,
filterTarget:function(card,player,target){
//return target.hp<target.maxHp;
return true;
},
contentBefore:function(){
"step 0"
game.delay();
"step 1"
if(get.is.versus()){
player.chooseControl('顺时针','逆时针',function(event,player){
if(player.next.side==player.side) return '逆时针';
return '顺时针';
}).set('prompt','选择'+get.translation(card)+'的结算方向');
}
else{
event.goto(3);
}
"step 2"
if(result&&result.control=='顺时针'){
var evt=event.getParent();
evt.fixedSeat=true;
evt.targets.sortBySeat();
evt.targets.reverse();
if(evt.targets[evt.targets.length-1]==player){
evt.targets.unshift(evt.targets.pop());
}
}
"step 3"
var evt=event.getParent();
for(var i=0;i<evt.targets.length;i++){
if(evt.targets[i].isHealthy()) evt.excluded.push(evt.targets[i]);
}
},
content:function(){
target.recover();
},
@ -1702,13 +1730,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
}
},
taoyuan_nowuxie:{
mod:{
wuxieRespondable:function(card,player,target){
if(card.name=='taoyuan'&&target.isHealthy()) return false;
}
}
},
_wuxie:{
trigger:{player:['useCardToBefore','phaseJudge']},
priority:5,

View File

@ -231,18 +231,23 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.targets.remove(player);
event.targets.sort(lib.sort.seat);
player.line(event.targets,'green');
event.targets2=event.targets.slice(0);
"step 1"
if(event.targets2.length){
event.targets2.shift().damage('nocard');
event.redo();
}
"step 2"
if(event.targets.length){
event.current=event.targets.shift()
event.current.discard(event.current.getCards('e')).delay=false;
}
"step 2"
event.current.chooseToDiscard('h',true,4).delay=false;
"step 3"
event.current.damage();
game.delay(0.5);
if(event.targets.length) event.goto(1);
event.current.chooseToDiscard('h',true,4).delay=false;
"step 4"
game.delay(0.5);
if(event.targets.length) event.goto(2);
"step 5"
player.turnOver();
},
ai:{

View File

@ -1001,7 +1001,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
"new_reyaowu":{
trigger:{
player:"damageEnd",
player:"damage",
},
priority:1,
audio:"yaowu",
@ -1160,6 +1160,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
reluoshen:{
audio:'luoshen',
locked:false,
trigger:{player:'phaseBegin'},
frequent:true,
content:function(){

View File

@ -6551,7 +6551,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
beige_info:'一名角色每受到【杀】造成的一次伤害你可以弃一张牌并令其进行一次判定判定结果为♥该角色回复1点体力该角色摸两张牌♣伤害来源弃两张牌♠伤害来源将其武将牌翻面',
duanchang_info:'锁定技,杀死你的角色失去当前的所有技能直到游戏结束。',
// fushen_info:'回合开始前,你可以选择与任意一名角色交换控制权,该角色可选择在下一个回合开始前与你换回',
huashen_info:'所有人都展示武将牌后,你随机获得两张未加入游戏的武将牌,选一张置于你面前并声明该武将的一项技能,你拥有该技能且同时将性别和势力属性变成与该武将相同知道该化身被替换。在你的每个准备阶段和结束后,你可以替换化身牌,你须为新的化身重新声明一项技能(你不可声明限定技、觉醒技或主公技)。',
huashen_info:'所有人都展示武将牌后,你随机获得两张未加入游戏的武将牌,选一张置于你面前并声明该武将的一项技能,你拥有该技能且同时将性别和势力属性变成与该武将相同直到该化身被替换。在你的每个准备阶段和结束后,你可以替换化身牌,你须为新的化身重新声明一项技能(你不可声明限定技、觉醒技或主公技)。',
xinsheng_info:'你每受到1点伤害可获得一张新化身牌。',
jiangwei:'姜维',
liushan:'刘禅',

View File

@ -43,7 +43,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhangbao:['male','qun',3,['zhoufu','yingbin']],
huangjinleishi:['female','qun',3,['fulu','fuji']],
maliang:['male','shu',3,['zishu','yingyuan']],
sp_pangtong:['male','qun',3,['manjuan','zuixiang']],
sp_pangtong:['male','qun',3,['xinmanjuan','zuixiang']],
zhugedan:['male','wei',4,['gongao','juyi']],
sp_jiangwei:['male','wei',4,['kunfen','fengliang']],
sp_machao:['male','qun',4,['zhuiji','ol_shichou']],
@ -1358,8 +1358,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
if(bool){
player.chooseTarget('是否视为使用一张没有距离限制的【杀】?',function(card,player,target){
return player.canUse({name:'sha'},target,false);
player.chooseTarget('是否视为使用一张【杀】?',function(card,player,target){
return player.canUse({name:'sha'},target);
}).ai=function(target){
var player=_status.event.player;
return get.effect(target,{name:'sha'},player,player);
@ -6059,6 +6059,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
targets[0].chooseToDiscard('he',2,true);
targets[1].loseHp();
}
else if(result.tie){
targets[0].loseHp()
targets[1].loseHp()
}
else{
targets[1].chooseToDiscard('he',2,true);
targets[0].loseHp();
@ -8809,10 +8813,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
if(player.storage.ranshang){
player.storage.ranshang++;
player.storage.ranshang+=trigger.num;
}
else{
player.storage.ranshang=1;
player.storage.ranshang=trigger.num;
}
player.markSkill('ranshang');
game.addVideo('storage',player,['ranshang',player.storage.ranshang]);
@ -8850,15 +8854,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
(event.card.name=='nanman'||event.card.name=='wanjian');
},
content:function(){
player.addTempSkill('hanyong3','useCardAfter');
player.addTempSkill('hanyong3');
player.storage.hanyong3=trigger.card;
},
},
hanyong3:{
audio:false,
trigger:{source:'damageBegin'},
forced:true,
onremove:true,
filter:function(event,player){
return event.card&&(event.card.name=='nanman'||event.card.name=='wanjian')&&event.notLink();
return event.card==player.storage.hanyong3;
},
content:function(){
trigger.num++;
@ -9418,6 +9424,44 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
xinmanjuan:{
audio:'manjuan',
forced:true,
priority:15,
trigger:{player:'gainEnd'},
filter:function(event,player){
return event.type!='xinmanjuan';
},
content:function(){
"step 0"
event.cards=trigger.cards.slice(0);
player.discard(event.cards);
if(_status.currentPhase!=player) event.finish();
"step 1"
event.card=event.cards.shift();
event.togain=[];
var number=get.number(event.card);
for(var i=0;i<ui.discardPile.childNodes.length;i++){
var current=ui.discardPile.childNodes[i];
if(current!=event.card&&get.number(current)==number) event.togain.push(current);
}
if(!event.togain.length) event.goto(4);
"step 2"
player.chooseButton(['是否获得其中的一张牌?',event.togain]).ai=function(button){
return get.value(button.link);
};
"step 3"
if(result.bool){
player.gain(result.links[0],'gain2').type='xinmanjuan';
}
"step 4"
if(event.cards.length) event.goto(1);
},
ai:{
threaten:4.2,
nogain:1
},
},
manjuan:{
audio:true,
trigger:{global:'discardAfter'},
@ -10842,10 +10886,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterCard:true,
selectCard:function(){
var player=_status.event.player;
var num=game.countPlayer(function(current){
return current.isDamaged();
});
return [1,Math.min(num,player.maxHp-player.hp)];
return player.maxHp-player.hp;
},
filterTarget:function(card,player,target){
return target.hp<target.maxHp;
@ -10854,15 +10895,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.hp<player.maxHp;
},
selectTarget:function(){
return ui.selected.cards.length;
return [1,ui.selected.cards.length];
},
check:function(card){
var player=_status.event.player;
if(ui.selected.cards.length>=game.countPlayer(function(current){
return get.attitude(player,current)>0&&current.isDamaged();
})){
return -1;
}
if(get.color(card)=='black') return -1;
return 9-get.value(card);
},
@ -12321,7 +12356,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caohong:'曹洪',
liuxie:'刘协',
xiahouba:'夏侯霸',
zhugejin:'诸葛',
zhugejin:'诸葛',
zhugeke:'诸葛恪',
guanyinping:'关银屏',
ganfuren:'甘夫人',
@ -12397,7 +12432,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wangyun:'王允',
sunqian:'孙乾',
xizhicai:'戏志才',
quyi:'义',
quyi:'义',
liuye:'刘晔',
beimihu:'卑弥呼',
luzhi:'鲁芝',
@ -12433,7 +12468,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wangyuanji:"王元姬",
xinshanjia:"缮甲",
"xinshanjia_info":"出牌阶段开始时你可以摸三张牌然后弃置3-X张牌(X为你本局游戏内失去过的装备区内的牌的数目且至多为3)。若你没有以此法弃置基本牌或锦囊牌,则你可以视为使用了一张不计入出牌阶段使用次数且无距离限制的【杀】。",
"xinshanjia_info":"出牌阶段开始时你可以摸三张牌然后弃置3-X张牌(X为你本局游戏内失去过的装备区内的牌的数目且至多为3)。若你没有以此法弃置基本牌或锦囊牌,则你可以视为使用了一张不计入出牌阶段使用次数的【杀】。",
"new_meibu":"魅步",
"new_meibu_info":"其他角色的出牌阶段开始时若你在其攻击范围内你可以弃置一张牌令该角色于本回合内拥有“止息”。若你以此法弃置的牌不是【杀】或黑色锦囊牌则本回合其与你距离视为1。",
"new_mumu":"穆穆",
@ -12911,6 +12946,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
weizhong_info:'锁定技,每当你的体力上限增加或减少时,你摸一张牌。',
taichen_info:'出牌阶段限一次,你可以自减一点体力,视为对一名角色使用一张杀(不计入回合内出杀限制)',
manjuan_info:'其他角色的卡牌因弃置而进入弃牌堆后,你可以弃置一张花色与之不同的牌,然后获得之',
xinmanjuan:'漫卷',
xinmanjuan_info:'每当你将获得任何一张牌,将之置于弃牌堆。若此情况处于你的回合中,你可依次将与该牌点数相同的一张牌从弃牌堆置于你手上。',
zuixiang_info:'限定技准备阶段开始时你可以展示牌库顶的3张牌并置于你的武将牌上你不可使用或打出与该些牌同类的牌所有同类牌对你无效。之后每个你的准备阶段你须重复展示一次直至该些牌中任意两张点数相同时将你武将牌上的全部牌置于你的手上。',
naman_info:'你可以获得其他角色打出的杀',
xiemu_info:'每当你成为其他角色的黑色牌的目标,可以弃置一张杀并摸两张牌',

View File

@ -1843,7 +1843,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterTarget:function(card,player,target){
var trigger=_status.event.getTrigger();
if(get.distance(player,target,'attack')<=1&&
target!=trigger.player&&!trigger.targets.contains(target)){
target!=trigger.player){
if(player.canUse(trigger.card,target)) return true;
}
return false;
@ -1871,14 +1871,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 1"
if(result.bool){
player.discard(result.cards);
player.logSkill(event.name,result.targets);
trigger.target=result.targets[0];
for(var i=0;i<trigger.targets.length;i++){
if(trigger.targets[i]==player) break;
var target=result.targets[0];
player.logSkill(event.name,target);
trigger.target=target;
var evt=trigger.getParent();
if(evt&&evt.targets&&evt.num){
trigger.targets[evt.num]=target;
evt.targets[evt.num]=target;
}
var t1=trigger.targets.slice(0,i);
var t2=trigger.targets.slice(i+1);
trigger.targets=t1.concat([result.targets[0]]).concat(t2);
}
else{
event.finish();
@ -2334,7 +2334,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
yaowu:{
trigger:{player:'damageEnd'},
trigger:{player:'damage'},
priority:1,
audio:2,
filter:function(event){

View File

@ -1112,16 +1112,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 1'
if(result.bool){
player.logSkill('xinfu_lingren',result.targets);
event.targett=result.targets[0];
player.line('water',event.targett);
var target=result.targets[0];
event.target=target;
player.line('water',target);
event.choice={
basic:false,
trick:false,
equip:false,
}
player.chooseBool('是否押基本牌?').ai=function(event,player){
if(event.targett.countCards('h')) return true;
return false;
var rand=0.95;
if(!target.countCards('h',{type:['basic']})) rand=0;
return Math.random()<rand?true:false;
};
}
else{
@ -1133,16 +1135,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.choice.basic=true;
}
player.chooseBool('是否押锦囊牌?').ai=function(event,player){
var num=event.targett.countCards('h');
return Math.random()<num>2?0:0.5;
var rand=0.95;
if(!target.countCards('h',{type:['trick','delay']})) rand=0;
return Math.random()<rand?true:false;
};
'step 3'
if(result.bool){
event.choice.trick=true;
}
player.chooseBool('是否押装备牌?').ai=function(event,player){
var num=event.targett.countCards('h');
return Math.random()<num>3?0:0.3;
var rand=0.95;
if(!target.countCards('h',{type:['equip']})) rand=0;
return Math.random()<rand?true:false;
};
'step 4'
if(result.bool){
@ -1154,7 +1158,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trick:false,
equip:false,
}
var he=event.targett.getCards('h');
var he=target.getCards('h');
for(var i=0;i<he.length;i++){
reality[get.type(he[i],'trick')]=true;
}
@ -1167,8 +1171,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.popup('猜对'+get.cnNumber(event.num)+'项');
game.log(player,'猜对了'+get.cnNumber(event.num)+'项');
if(event.num>0){
event.targett.addTempSkill('lingren_adddamage');
event.targett.storage.lingren={
target.addTempSkill('lingren_adddamage');
target.storage.lingren={
card:trigger.card,
//player:event.targett,
}
@ -1399,6 +1403,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
intro:{
content:"mark",
},
locked:true,
},
"xionghuo_disable":{
mod:{
@ -2560,15 +2565,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 0'
event.cardt=target.getCards('h').randomGet();
target.showCards(event.cardt);
player.chooseCard('he',true).ai=function(card){
player.chooseCard('he').ai=function(card){
var numt=event.cardt.number;
if(card.number<numt) return 20-get.value(card);
else if(card.number==numt) return 15-get.value(card);
return 12-get.value(card);
var att=get.attitude(player,target);
var value=get.value(event.cardt);
if(card.number<numt||att>2) return value+6-get.value(card);
else if(card.number==numt) return value-get.value(card);
return -1;
};
'step 1'
if(!result.bool) event.finish();
else{
player.showCards(result.cards);
event.cardp=result.cards;
}
'step 2'
player.give(event.cardp,target);
target.give(event.cardt,player);
@ -3857,12 +3867,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function (event,player){
if(player.hasSkill('xinfu_kannan_phase')) return false;
if(player.getStat().skill.xinfu_kannan>=player.hp) return false;
return true;
return player.countCards('h')>0;
},
filterTarget:function (card,player,target){
if(player.hasSkillTag('noCompareSource')||target.hasSkillTag('noCompareTarget')) return false;
if(target.hasSkill('xinfu_kannan_phase')) return false;
return target.countCards('h')&&target!=player;
return player.canCompare(target);
},
ai:{
order:function (){
@ -3970,7 +3979,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
cardUsable:function (card,player,num){
if(typeof num=='number'&&player.countCards('j')){
if(typeof num=='number'&&player.countCards('j')&&card.name!='jiu'){
return Infinity;
}
},

View File

@ -174,7 +174,7 @@ window.config={
},
guozhan:{
difficulty:'normal',
initshow_draw:2,
initshow_draw:'mark',
dierestart:true
},
},
@ -182,6 +182,7 @@ window.config={
customforbid:[],
forbid:[
['huashen'],
['xinmanjuan'],
['lianying','rende'],
['lianying','anxian'],
['lianying','yinguo'],

View File

@ -13913,6 +13913,7 @@
}
}
player.removeEquipTrigger();
// for(var i in lib.skill.globalmap){
// if(lib.skill.globalmap[i].contains(player)){
// lib.skill.globalmap[i].remove(player);
@ -13956,15 +13957,6 @@
}
}
},player,event.cards);
event.trigger('die');
"step 1"
if(event.cards.length){
player.$throw(event.cards,1000);
game.log(player,'弃置了',event.cards,event.logvid);
for(var i=0;i<event.cards.length;i++){
event.cards[i].discard();
}
}
if(!_status.connectMode&&player==game.me&&!_status.over&&!game.controlOver){
ui.control.show();
@ -13992,6 +13984,16 @@
player.$die(source);
}
if(player.dieAfter) player.dieAfter(source);
event.trigger('die');
"step 1"
if(event.cards.length){
player.$throw(event.cards,1000);
game.log(player,'弃置了',event.cards,event.logvid);
for(var i=0;i<event.cards.length;i++){
event.cards[i].discard();
}
}
if(typeof _status.coin=='number'&&source&&!_status.auto){
if(source==game.me||source.isUnderControl()){
_status.coin+=10;
@ -14767,6 +14769,10 @@
this.update();
},
uninit:function(){
for(var i=1;i<6;i++){
this.enableEquip(i);
}
this.node.avatar.hide();
this.node.count.hide();
if(this.node.wuxing){
@ -27747,6 +27753,15 @@
dialog.addSmall(hs);
}
}
for(var j=0;j<game.dead.length;j++){
var hs=game.dead[j].getCards('h');
if(hs.length){
dialog.add('<div class="text center">'+get.translation(game.dead[j])+'</div>');
dialog.addSmall(hs);
}
}
dialog.add(ui.create.div('.placeholder.slim'));
if(lib.config.background_audio){
if(result2===true){
@ -28143,6 +28158,14 @@
dialog.addSmall(hs);
}
}
for(var i=0;i<game.dead.length;i++){
if(!_status.connectMode&&game.dead[i].isUnderControl(true)&&game.layout!='long2') continue;
var hs=game.dead[i].getCards('h');
if(hs.length){
dialog.add('<div class="text center">'+get.translation(game.dead[i])+'</div>');
dialog.addSmall(hs);
}
}
dialog.add(ui.create.div('.placeholder.slim'));
game.addVideo('over',null,dialog.content.innerHTML);
var vinum=parseInt(lib.config.video);

View File

@ -1,18 +1,22 @@
window.noname_update={
version:'1.9.90.4',
update:'1.9.90.3',
version:'1.9.90.5',
update:'1.9.90.4',
changeLog:[
'SP庞统技能还原',
'BUG修复',
],
files:[
'card/guozhan.js',
'card/standard.js',
'character/extra.js',
'character/refresh.js',
'character/shenhua.js',
'character/sp.js',
'character/standard.js',
'character/xinghuoliaoyuan.js',
'character/yijiang.js',
'mode/boss.js',
'mode/guozhan.js',
'game/config.js',
'game/game.js',
]
};

View File

@ -1698,7 +1698,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
content:function(){
var target=trigger.source;
if(!target.storage.boss_shedu) target.storage.boss_shedu=0;
target.storage.boss_shedu+=trigger.num;
target.storage.boss_shedu++;
target.markSkill('boss_shedu');
},
forced:true,
@ -1860,7 +1860,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
return !event.player.hasSkill('boss_duqu')&&['tao','jiu'].contains(event.card.name);
},
content:function(){
var target=event.player;
var target=trigger.player;
player.line(target);
if(!target.storage.boss_shedu) target.storage.boss_shedu=0;
target.storage.boss_shedu++;
@ -6915,6 +6915,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
},
shenqu:{
audio:2,
group:'shenqu2',
trigger:{global:'phaseBegin'},
filter:function(event,player){
@ -6936,6 +6937,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
},
jiwu:{
audio:2,
enable:'phaseUse',
filter:function(event,player){
if(player.countCards('h')==0) return false;
@ -7459,7 +7461,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
boss_guiyin:'归隐',
boss_guiyin_info:'锁定技,体力值比你多的角色无法在回合内对你使用卡牌',
boss_gongshen:'工神',
boss_gongshen_info:'锁定技,除你之外的角色没有装备区;你不能成为其他角色的延时锦囊目标',
boss_gongshen_info:'锁定技,除你之外的角色没有装备区;你不能成为其他角色的延时锦囊牌的目标',
fanghua:'芳华',
fanghua_info:'结束阶段,你可以令所有已翻面角色流失一点体力',

View File

@ -5914,17 +5914,22 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
gzweimu:{
audio:'weimu',
trigger:{target:'useCardToBefore'},
trigger:{target:'useCardToBefore',player:'addJudgeBefore'},
forced:true,
priority:15,
check:function(event,player){
return get.effect(event.target,event.card,event.player,player)<0;
return event.name=='addJudge'||(event.card.name!='chiling'&&get.effect(event.target,event.card,event.player,player)<0);
},
filter:function(event,player){
return get.type(event.card,'trick')=='trick'&&get.color(event.card)=='black';
},
content:function(){
trigger.cancel();
if(trigger.name=='addJudge'){
for(var i=0;i<trigger.cards.length;i++){
trigger.cards[i].discard();
}
}
},
ai:{
effect:{
@ -5936,17 +5941,22 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
gzqianxun:{
audio:'reqianxun',
trigger:{target:'useCardToBefore'},
trigger:{target:'useCardToBefore',player:'addJudgeBefore'},
forced:true,
priority:15,
check:function(event,player){
return get.effect(event.target,event.card,event.player,player)<0;
return event.name=='addJudge'||get.effect(event.target,event.card,event.player,player)<0;
},
filter:function(event,player){
return event.card.name=='shunshou'||event.card.name=='lebu';
},
content:function(){
trigger.cancel();
if(trigger.name=='addJudge'){
for(var i=0;i<trigger.cards.length;i++){
trigger.cards[i].discard();
}
}
},
ai:{
effect:{