Merge pull request #771 from PZ157/PR-Branch

bugfix
This commit is contained in:
Spmario233 2024-01-08 23:50:11 +08:00 committed by GitHub
commit fef2d8ae57
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 22 additions and 21 deletions

View File

@ -268,7 +268,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(player.hasSkillTag('presha',true,null,true)) return 10; if(player.hasSkillTag('presha',true,null,true)) return 10;
if(typeof item==='object'&&game.hasNature(item,'linked')){ if(typeof item==='object'&&game.hasNature(item,'linked')){
if(game.hasPlayer(function(current){ if(game.hasPlayer(function(current){
return current!=player&&current.isLinked()&&player.canUse(item,current,null,true)&&get.effect(current,item,player,player)>0&&lib.card.sha.ai.canLink(player,current,item); return current!=player&&lib.card.sha.ai.canLink(player,current,item)&&player.canUse(item,current,null,true)&&get.effect(current,item,player,player)>0;
})&&game.countPlayer(function(current){ })&&game.countPlayer(function(current){
return current.isLinked()&&get.damageEffect(current,player,player,get.nature(item))>0; return current.isLinked()&&get.damageEffect(current,player,player,get.nature(item))>0;
})>1) return 3.1; })>1) return 3.1;

View File

@ -3802,11 +3802,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 2' 'step 2'
var cards=cards.filterInD(); var cards=cards.filterInD();
if(cards.length) player.chooseTarget('将'+get.translation(cards)+'交给一名角色',true).set('ai',function(target){ if(cards.length) player.chooseTarget('将'+get.translation(cards)+'交给一名角色',true).set('ai',function(target){
var player=_status.event.player; var player=_status.event.player,att=get.attitude(player,target);
var att=get.attitude(player,target)/Math.sqrt(1+target.countCards('h')); if(att<=0) return att;
if(target.countCards('h')+_status.event.num>=_status.event.max) att/=3;
if(target.hasSkillTag('nogain')) att/=10; if(target.hasSkillTag('nogain')) att/=10;
return att; return att;
}); }).set('num',cards.length).set('max',game.filterPlayer().reduce((num,i)=>{
return Math.max(num,i.countCards('h'));
},0));
else event.finish(); else event.finish();
'step 3' 'step 3'
if(result.bool){ if(result.bool){
@ -4777,7 +4780,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return list.length>0; return list.length>0;
}, },
check:function(event,player){ check:function(event,player){
if(get.attitude(player,event.player)>=0) return false; if(get.attitude(_status.event.player,event.player)>=0) return false;
if(event.getParent('phaseUse').skipped) return true; if(event.getParent('phaseUse').skipped) return true;
var nd=player.needsToDiscard(); var nd=player.needsToDiscard();
return player.countCards('h',function(card){ return player.countCards('h',function(card){
@ -7015,8 +7018,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
source:'damageSource' source:'damageSource'
}, },
filter:function(event,player){ filter:function(event,player){
if(get.attitude(_status.event.player,event.player)>=0) return false;
if(player.storage.drlt_duorui.length) return false; if(player.storage.drlt_duorui.length) return false;
return player!=event.player&&event.player.isIn()&&_status.currentPhase==player; return event.player.isIn()&&_status.currentPhase==player;
}, },
check:function(event,player){ check:function(event,player){
if(player.hasEnabledSlot()&&!player.hasEnabledSlot(5)) return false; if(player.hasEnabledSlot()&&!player.hasEnabledSlot(5)) return false;

View File

@ -121,7 +121,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
// hs_baiguyoulong:['male','qun',4,['hstianqi']], // hs_baiguyoulong:['male','qun',4,['hstianqi']],
hs_yangyanwageli:['female','qun',3,['hspuzhao','hsyanxin']], hs_yangyanwageli:['female','qun',3,['hspuzhao','hsyanxin']],
hs_aiqinvyao:['famale','qun',4,['nsaiqi','nsbeiming']], hs_aiqinvyao:['female','qun',4,['nsaiqi','nsbeiming']],
hs_yelinlonghou:['female','qun',4,['ylyuchu']], hs_yelinlonghou:['female','qun',4,['ylyuchu']],
hs_yelinchulong:["male","qun",1,[],['unseen']], hs_yelinchulong:["male","qun",1,[],['unseen']],

View File

@ -7698,7 +7698,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var nh=_status.currentPhase.countCards('h')+1; var nh=_status.currentPhase.countCards('h')+1;
var players=game.filterPlayer(); var players=game.filterPlayer();
for(var i=0;i<players.length;i++){ for(var i=0;i<players.length;i++){
if(players[i].countCards('h')>nh){ if(players[i].countCards('h')>=nh){
if(!player.countCards('h','shan')||get.attitude(player,players[i])<=0) return true; if(!player.countCards('h','shan')||get.attitude(player,players[i])<=0) return true;
} }
} }
@ -11881,25 +11881,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
logTarget:'player', logTarget:'player',
check:function(event,player){ check:function(event,player){
if(event.getParent().excluded.includes(player)) return false; if(event.getParent().excluded.includes(player)) return false;
if(get.attitude(player,event.player)>0){ if(get.attitude(player,event.player)>0||player.hp<2&&!get.tag(event.card,'damage')) return false;
return false; let evt=event.getParent(),
} directHit=evt.nowuxie&&get.type(event.card,'trick')==='trick'||evt.directHit&&evt.directHit.includes(player)||evt.customArgs&&evt.customArgs.default&&evt.customArgs.default.directHit2;
if(get.tag(event.card,'respondSha')){ if(get.tag(event.card,'respondSha')){
if(player.countCards('h',{name:'sha'})==0){ if(directHit||player.countCards('h',{name:'sha'})===0) return true;
return true;
}
} }
else if(get.tag(event.card,'respondShan')){ else if(get.tag(event.card,'respondShan')){
if(player.countCards('h',{name:'shan'})==0){ if(directHit||player.countCards('h',{name:'shan'})===0) return true;
return true;
}
} }
else if(get.tag(event.card,'damage')){ else if(get.tag(event.card,'damage')){
if(event.card.name=='shuiyanqijunx') return player.countCards('e')==0; if(event.card.name==='huogong') return event.player.countCards('h')>4-player.hp-player.hujia;
if(event.card.name==='shuiyanqijunx') return player.countCards('e')===0;
return true; return true;
} }
else if((event.card.name=='shunshou'||(event.card.name=='zhujinqiyuan'&&(event.card.yingbian||get.distance(event.player,player)<0)))&&player.hp>2){ else if(player.hp>2){
return true; if(event.card.name==='shunshou'||(event.card.name==='zhujinqiyuan'&&(event.card.yingbian||get.distance(event.player,player)<0))) return true;
} }
return false; return false;
}, },

View File

@ -8560,7 +8560,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
audio:2, audio:2,
enable:'phaseUse', enable:'phaseUse',
filter:function(event,player){ filter:function(event,player){
if(player.countCards('h')==0) return false; if(player.countCards('he')==0) return false;
if(!player.hasSkill('qiangxix')) return true; if(!player.hasSkill('qiangxix')) return true;
if(!player.hasSkill('retieji')) return true; if(!player.hasSkill('retieji')) return true;
if(!player.hasSkill('olxuanfeng')) return true; if(!player.hasSkill('olxuanfeng')) return true;