diff --git a/character/xianjian.js b/character/xianjian.js index 5def58c67..d38a9d64a 100644 --- a/character/xianjian.js +++ b/character/xianjian.js @@ -1779,7 +1779,7 @@ character.xianjian={ "step 0" var ainum=0; var num=3-player.storage.xuanning; - var players=[]; + var players=game.filterPlayer(); event.targets=[]; for(var i=0;i=0) return false; if(event.player.num('e','zhuge')) return false; if(event.player.hasSkill('paoxiao')) return false; - for(var i=0;i0) break; + var players=game.filterPlayer(); + for(var i=0;i0) break; } - if(i==game.players.length) return false; + if(i==players.length) return false; var nh=event.player.num('h'); var nsha=event.player.num('h','sha'); if(nh<2) return false; @@ -2322,10 +2323,10 @@ character.yijiang={ check:function(event,player){ if(ai.get.attitude(player,_status.currentPhase)>0) return true; var nh=_status.currentPhase.num('h')+1; - var hasshan=(player.num('h','shan')>0); - for(var i=0;inh){ - if(!hasshan||ai.get.attitude(player,game.players[i])<=0) return true; + var players=game.filterPlayer(); + for(var i=0;inh){ + if(!player.hasShan()||ai.get.attitude(player,players[i])<=0) return true; } } return false; @@ -2338,15 +2339,16 @@ character.yijiang={ var nh=_status.currentPhase.num('h'); var nmax=nh+1; var targets=[]; - for(var i=0;inmax){ nmax=nh2; targets.length=0; - targets.push(game.players[i]); + targets.push(players[i]); } else if(nh2==nmax){ - targets.push(game.players[i]); + targets.push(players[i]); } } if(targets.length==1){ @@ -2383,8 +2385,9 @@ character.yijiang={ target:function(card,player,target,current){ if(get.tag(card,'respondShan')&¤t<0){ var nh=player.num('h'); - for(var i=0;inh) return 0.4; + var players=game.filterPlayer(); + for(var i=0;inh) return 0.4; } } } @@ -2464,10 +2467,9 @@ character.yijiang={ filter:function(event,player){ if(player.hasSkill('yaoming2')) return false; var nh=player.num('h'); - for(var i=0;i1&&(nh>=4||(nh>=3&&game.players[i].num('h','sha')))){ + var players=game.filterPlayer(); + for(var i=0;i1&&(nh>=4||(nh>=3&&players[i].num('h','sha')))){ yep=true;break; } } @@ -3020,20 +3023,18 @@ character.yijiang={ filter:function(event,player){ if(event.filterCard&&!event.filterCard({name:'sha'},player,event)) return false; if(!player.hasZhuSkill('qinwang')) return false; - for(var i=0;i1&&(nh>=4||(nh>=3&&game.players[i].num('h','sha')))){ + var player=_status.event.player,players=game.filterPlayer(); + for(var i=0;i1&&(nh>=4||(nh>=3&&players[i].num('h','sha')))){ return 5-ai.get.value(card); } } @@ -3363,184 +3364,6 @@ character.yijiang={ save:true, }, }, - huomo_sha_old:{ - enable:'phaseUse', - discard:false, - prepare:'throw', - filter:function(event,player){ - if(!player.storage.huomo) player.storage.huomo={}; - if(player.storage.huomo.sha) return false; - if(!lib.filter.filterCard({name:'sha'},player,event)){ - return false; - } - var hs=player.get('he',{color:'black'}); - for(var i=0;i0) return false; - var hs=player.get('he',{color:'black'}); - for(var i=0;i0) return false; if(!player.hasZhuSkill('xingshuai')) return false; - for(var i=0;i0){ - num-=Math.max(1,game.players[i].num('e')); + num-=Math.max(1,players[i].num('e')); } else if(att<0){ - num+=Math.max(1,game.players[i].num('e')); + num+=Math.max(1,players[i].num('e')); } } } - if(game.players.length<5){ + if(players.length<5){ return num-1; } else{ @@ -4272,12 +4094,9 @@ character.yijiang={ "step 0" player.awakenSkill('jiefan'); player.storage.jiefan=true; - event.players=[]; - for(var i=0;i2){ if(game.phaseNumbertarget.hp) return false; - } - return true; + return target.isHighestHp(); }, check:function(card){return 7-ai.get.value(card);}, position:'he', @@ -4525,8 +4341,9 @@ character.yijiang={ var goon=false; var info=get.info(trigger.card); if(trigger.targets&&!info.multitarget){ - for(var i=0;i2&&ai.get.attitude(game.players[i],player)>2 ){ + var bool=true,players=game.filterPlayer(); + for(var i=0;i2&&ai.get.attitude(players[i],player)>2){ bool=false;break; } } @@ -5224,8 +5041,9 @@ character.yijiang={ effect:{ target:function(card,player,target){ if(card.name!='sha') return; - for(var i=0;igame.players[i].num('h')) return true; + var players=game.filterPlayer(); + for(var i=0;iplayers[i].num('h')) return true; } return false; }, @@ -5389,9 +5208,10 @@ character.yijiang={ var att=ai.get.attitude(player,target); if(ui.selected.targets.length==0){ if(att>0) return -1; - for(var i=0;i=0&&num21&&ai.get.attitude(game.players[i],player)>1){ + var players=game.filterPlayer(); + for(var i=0;i1&&ai.get.attitude(players[i],player)>1){ return 1; } } @@ -6070,10 +5891,11 @@ character.yijiang={ if(!player.num('h','sha')) return 0; var targets=[]; var target; - for(var i=0;i0){ - if(game.players[i].hp<2){ + var recover=0,lose=1,players=game.filterPlayer(); + for(var i=0;i0){ + if(players[i].hp<2){ lose--; recover+=0.5; } lose--; recover++; } - else if(ai.get.attitude(player,game.players[i])<0){ - if(game.players[i].hp<2){ + else if(ai.get.attitude(player,players[i])<0){ + if(players[i].hp<2){ lose++; recover-=0.5; } @@ -6362,10 +6184,10 @@ character.yijiang={ } } else{ - if(ai.get.attitude(player,game.players[i])>0){ + if(ai.get.attitude(player,players[i])>0){ lose--; } - else if(ai.get.attitude(player,game.players[i])<0){ + else if(ai.get.attitude(player,players[i])<0){ lose++; } } @@ -6697,15 +6519,16 @@ character.yijiang={ return get.suit(card)=='heart'; }, filterTarget:function(card,player,target){ - if(game.players.length==2) return false; + if(game.countPlayer()==2) return false; return player!=target; }, check:function(card){ var player=get.owner(card); - for(var i=0;i3) break; + var players=game.filterPlayer(); + for(var i=0;i3) break; } - if(i==game.players.length) return -1; + if(i==players.length) return -1; return 5-ai.get.value(card); }, content:function(){ @@ -6775,9 +6598,10 @@ character.yijiang={ var list1=[]; var list2=[]; var num=player.maxHp-player.hp; - for(var i=0;i0) list1.push(game.players[i]); - else if(ai.get.attitude(player,game.players[i])<0) list2.push(game.players[i]); + var players=game.filterPlayer(); + for(var i=0;i0) list1.push(players[i]); + else if(ai.get.attitude(player,players[i])<0) list2.push(players[i]); } list1.sort(function(a,b){ return a.num('e')-b.num('e'); @@ -7144,21 +6968,19 @@ character.yijiang={ audio:2, forceaudio:true, filter:function(event,player){ - for(var i=0;i1&&player.canUse('sha',game.players[i],true,true); + var players=game.filterPlayer(); + for(var i=0;i1&&player.canUse('sha',players[i],true,true); } } return false; }, content:function(){ "step 0" - for(var i=0;i2) num=2; trigger.num+=num; }, ai:{ threaten:function(){ - var num=0; - for(var i=0;i0){ - for(var i=0;i=4) return [1,get.tag(card,'damage')*2]; if(target.hp==3) return [1,get.tag(card,'damage')*1.5]; if(target.hp==2) return [1,get.tag(card,'damage')*0.5]; @@ -570,8 +567,10 @@ character.yxs={ player:function(player,target){ if(!player.hasSkill('xiushen')) return 0; if(target.isLinked()) return 0; - for(var i=0;i1){ if(game.phaseNumber2){ - ef+=0.5; + if(players[i].hp==1&&players[i].maxHp>2){ + eff+=0.5; } } - if(ai.get.attitude(player,game.players[i])>0){ - num+=ef; + if(ai.get.attitude(player,players[i])>0){ + num+=eff; } - else if(ai.get.attitude(player,game.players[i])<0){ - num-=ef; + else if(ai.get.attitude(player,players[i])<0){ + num-=eff; } } return num>0; @@ -2180,105 +2178,6 @@ character.yxs={ threaten:1.3 } }, - jieyong_old:{ - enable:'phaseUse', - usable:1, - group:['jieyong3'], - direct:true, - filter:function(event,player){ - return player.num('h',{suit:'heart'})>0; - }, - content:function(){ - "step 0" - var list=[]; - player.getStat('skill').jieyong--; - for(var i in lib.card){ - if(lib.card[i].mode&&lib.card[i].mode.contains(lib.config.mode)==false) continue; - if(lib.card[i].type=='trick'||lib.card[i].type=='basic'){ - if(lib.filter.filterCard({name:i,suit:'heart'}),player){ - var select=get.select(lib.card[i].selectTarget); - if(select[0]==1&&select[1]==1){ - list.push(['','',i]); - } - } - } - } - var dialog=ui.create.dialog([list,'vcard']); - player.chooseButton(dialog,function(button){ - // if(player.hasSkill('jieyong4')==false){ - // for(var i=0;i0){ - if(game.players[i].hp<2){ - lose--; - recover+=0.5; - } - lose--; - recover++; - } - else if(ai.get.attitude(player,game.players[i])<0){ - if(game.players[i].hp<2){ - lose++; - recover-=0.5; - } - lose++; - recover--; - } - } - else{ - if(ai.get.attitude(player,game.players[i])>0){ - lose--; - } - else if(ai.get.attitude(player,game.players[i])<0){ - lose++; - } - } - } - } - if(player.hp0) return 1; if(ai.get.attitude(player,target)<0){ - for(var i=0;i0){ - if((target.get('e','1')&&!game.players[i].get('e','1'))|| - (target.get('e','2')&&!game.players[i].get('e','2'))|| - (target.get('e','3')&&!game.players[i].get('e','3'))|| - (target.get('e','4')&&!game.players[i].get('e','4'))|| - (target.get('e','5')&&!game.players[i].get('e','5'))) + var players=game.filterPlayer(); + for(var i=0;i0){ + if((target.get('e','1')&&!players[i].get('e','1'))|| + (target.get('e','2')&&!players[i].get('e','2'))|| + (target.get('e','3')&&!players[i].get('e','3'))|| + (target.get('e','4')&&!players[i].get('e','4'))|| + (target.get('e','5')&&!players[i].get('e','5'))) return -1; } }