From f6702423352d0dc931f562096edcc2409f151c51 Mon Sep 17 00:00:00 2001 From: PZ157 <3619242020@qq.com> Date: Sun, 12 Nov 2023 13:50:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E3=80=90=E7=88=B6=E8=8D=AB?= =?UTF-8?q?=E3=80=91=E3=80=90=E6=AD=A3=E5=BA=8F=E3=80=91=E3=80=90=E6=81=A9?= =?UTF-8?q?=E9=81=87=E3=80=91ai?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/shenhua.js | 3 ++- character/sp2.js | 29 +++++++++++++++++++++++++---- character/xianding.js | 6 +++--- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/character/shenhua.js b/character/shenhua.js index 58cecb125..8f3f8f34e 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -1037,7 +1037,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ai:{ effect:{ target:function(card,player,target){ - let hs=player.getCards('h',i=>i!==card&&(!card.cards||!card.cards.contains(i))),num=player.getCardUsable('sha'); + let hs=player.getCards('h',i=>i!==card&&(!card.cards||!card.cards.includes(i))),num=player.getCardUsable('sha'); if(card.name!=='sha'&&card.name!=='juedou'||hs.length{ + if(!player.canUse(i,target)) return false; if(i.name==='juedou') return true; if(num&&i.name==='sha'){ num--; diff --git a/character/sp2.js b/character/sp2.js index 59fa9b602..262595a51 100644 --- a/character/sp2.js +++ b/character/sp2.js @@ -1531,6 +1531,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, content:function(){ player.draw(trigger.getl(player).cards2.length); + }, + ai:{ + effect:{ + target:(card,player,target)=>{ + if((get.tag(card,'lose')||get.tag(card,'discard'))&&target.getHistory('damage').length&&!target.hasHistory('useSkill',evt=>evt.skill=='dczhengxu_lose')) return [1,1]; + } + } } }, damage:{ @@ -1549,10 +1556,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, ai:{ effect:{ - target:function(card,player,target){ - if(player.hasSkillTag('jueqing',false,target)) return; - if(target.hasHistory('useSkill',evt=>evt.skill=='dczhengxu_damage')) return; - if(get.tag(card,'damage')) return 0.6; + target:(card,player,target)=>{ + if(player.hasSkillTag('jueqing',false,target)||!get.tag(card,'damage')) return; + if(target.hasHistory('useSkill',evt=>evt.skill=='dczhengxu_damage')||!target.hasHistory('lose',evt=>evt.cards2&&evt.cards2.length)) return; + if(get.attitude(player,target)>=0) return 'zeroplayertarget'; + let num=0,shas=player.getCardUsable('sha'),hs=player.getCards('hs',i=>{ + if(i===card||card.cards&&card.cards.includes(i)||!get.tag(i,'damage')||!player.canUse(i,target)) return false; + if(get.name(i)==='sha'){ + num++; + return false; + } + return true; + }); + if(card.name==='sha') shas--; + num=Math.min(num,shas); + num+=hs.length; + if(!num) return 'zeroplayertarget'; + num=1-2/3/num; + return [num,0,num,0]; } } } diff --git a/character/xianding.js b/character/xianding.js index d49cd4745..77ac16135 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -4940,11 +4940,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, ai:{ effect:{ - target:function(card,player,target){ - if(player==target) return; + target:(card,player,target)=>{ + if(player===target) return; if(game.hasPlayer2(current=>{ return current.hasHistory('useCard',evt=>evt.card.name==card.name&&evt.targets&&evt.targets.contains(player)); - })) return 'zerotarget'; + })) return 'zeroplayertarget'; } } }