From 53595c934370168124f3553af82e61b8a75db9e7 Mon Sep 17 00:00:00 2001 From: 157 <144450955+PZ157@users.noreply.github.com> Date: Thu, 5 Oct 2023 11:38:06 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=83=A8=E5=88=86=E6=8A=80=E8=83=BDai?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【归心】、【英霸】; 【夺锐】指示线 --- character/extra.js | 83 +++++++++++++++++++++++++++++++--------------- 1 file changed, 57 insertions(+), 26 deletions(-) diff --git a/character/extra.js b/character/extra.js index 86560fa03..56dce3d68 100755 --- a/character/extra.js +++ b/character/extra.js @@ -2442,6 +2442,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, yingba:{ audio:2, + mod:{ + aiOrder:function(player,card,num){ + if(num>0&&_status.event&&_status.event.type=='phase'&&get.tag(card,'recover')){ + if(player.needsToDiscard()) return num/3; + return 0; + } + } + }, enable:'phaseUse', usable:1, filter:(event,player)=>(game.hasPlayer((current)=>(current!=player&¤t.maxHp>1))), @@ -4298,24 +4306,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return 1; }, effect:{ - target:function (card,player,target){ - if(get.tag(card,'damage')){ + target:function(card,player,target){ + if(get.tag(card,'damage')&&target.hp>(player.hasSkillTag('damageBonus',true,{ + card:card, + target:target + })?2:1)){ if(player.hasSkillTag('jueqing',false,target)) return [1,-2]; - if(target.hp==1) return 0.8; - if(target.isTurnedOver()) return [0,3]; - var num=game.countPlayer(function(current){ - if(current.countCards('he')&¤t!=player&&get.attitude(player,current)<=0){ - return true; - } - if(current.countCards('j')&¤t!=player&&get.attitude(player,current)>0){ - return true; + let gain=game.countPlayer(function(current){ + if(target==current) return 0; + if(get.attitude(target,current)>0){ + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'new_guixin')&&get.effect(current,cardx,current,current)<0,'j')) return 1.3; + return 0; } + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'new_guixin')&&get.effect(current,cardx,current,current)>0,'e')) return 1.1; + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'new_guixin'),'h')) return 0.9; + return 0; }); - if(num>2) return [0,1]; - if(num==2) return [0.5,1]; + if(target.isTurnedOver()) gain+=2.3; + else gain-=2.3; + return [1,Math.max(0,gain)]; } - }, - }, + } + } }, }, ol_shenfen:{ @@ -4860,6 +4872,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, jilue_zhiheng:{ audio:1, + mod:{ + aiOrder:function(player,card,num){ + if(num<=0||get.itemtype(card)!='card'||get.type(card)!='equip') return num; + let eq=player.getEquip(get.subtype(card)); + if(eq&&get.equipValue(card)-get.equipValue(eq)get.value(i)>Math.max(6,9-player.hp),'he')) return 1; + return 10; + }, result:{ player:function(player){ var num=0; @@ -4912,6 +4934,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return 0; } }, + nokeep:true, + skillTagFilter:function(player,tag,arg){ + if(tag==='nokeep') return player.isPhaseUsing()&&!player.getStat().skill.jilue_zhiheng&&player.hasCard((card)=>get.name(card)!=='tao','h'); + }, threaten:1.5 }, }, @@ -5234,20 +5260,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, effect:{ target:function(card,player,target){ - if(get.tag(card,'damage')){ + if(get.tag(card,'damage')&&target.hp>(player.hasSkillTag('damageBonus',true,{ + card:card, + target:target + })?2:1)){ if(player.hasSkillTag('jueqing',false,target)) return [1,-2]; - if(target.hp==1) return 0.8; - if(target.isTurnedOver()) return [0,3]; - var num=game.countPlayer(function(current){ - if(current.countCards('he')&¤t!=player&&get.attitude(player,current)<=0){ - return true; - } - if(current.countCards('j')&¤t!=player&&get.attitude(player,current)>0){ - return true; + let gain=game.countPlayer(function(current){ + if(target==current) return 0; + if(get.attitude(target,current)>0){ + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'guixin')&&get.effect(current,cardx,current,current)<0,'ej')) return 1.3; + return 0; } + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'guixin')&&get.effect(current,cardx,current,current)>0,'ej')) return 1.1; + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'guixin'),'h')) return 0.9; + return 0; }); - if(num>2) return [0,1]; - if(num==2) return [0.5,1]; + if(target.isTurnedOver()) gain+=2.3; + else gain-=2.3; + return [1,Math.max(0,gain)]; } } } @@ -6405,6 +6435,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ bannedList:[ 'bifa','buqu','gzbuqu','songci','funan','xinfu_guhuo','reguhuo','huashen','rehuashen','old_guhuo','shouxi','xinpojun','taoluan','xintaoluan','yinbing','xinfu_yingshi','zhenwei','zhengnan','xinzhengnan','zhoufu', ], + logTarget:'player', content:function(){ 'step 0' var list=[]; From 073eb890fa91a044564fb26d960f2e1b7e9ea8fc Mon Sep 17 00:00:00 2001 From: 157 <144450955+PZ157@users.noreply.github.com> Date: Thu, 5 Oct 2023 11:48:14 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E6=9A=B4=E9=9C=B2=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【截粮】【天则】 --- character/sp2.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/character/sp2.js b/character/sp2.js index 1a02647e6..b511e2f57 100644 --- a/character/sp2.js +++ b/character/sp2.js @@ -3169,6 +3169,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 1' if(result.bool){ trigger.num--; + if(get.mode()!='identity'||player.identity!='nei') player.addExpose(0.15); target.addMark('jieliang_less',1,false); target.addTempSkill('jieliang_less'); player.addTempSkill('jieliang_gain'); @@ -3299,7 +3300,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return 8-get.value(card); }).set('goon',get.damageEffect(trigger.player,player,player)>0).logSkill=['tianze',trigger.player]; 'step 1' - if(result.bool) trigger.player.damage(); + if(result.bool){ + if(get.mode()!='identity'||player.identity!='nei') player.addExpose(0.2); + trigger.player.damage(); + } else event.finish(); 'step 2' game.delayx(); From ab2781690fe4240319b76da9090d83538ead1a15 Mon Sep 17 00:00:00 2001 From: 157 <144450955+PZ157@users.noreply.github.com> Date: Thu, 5 Oct 2023 12:25:45 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E9=83=A8=E5=88=86=E6=8A=80=E8=83=BDai?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加【挈挟】牌ai; 增加【破围】身份暴露度 --- character/extra.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/character/extra.js b/character/extra.js index 56dce3d68..e7628870d 100755 --- a/character/extra.js +++ b/character/extra.js @@ -266,7 +266,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ str+='、'; } str=str.slice(0,str.length-1); - str+=';' + str+=';'; + card.ai.equipValue=function(card,player){ + let val=maxHp; + if(player.hasSkill('qiexie')) val*=0.4; + else val*=0.6; + return val+=skills.length; + }; } str+='此牌离开你的装备区后,改为置入剩余武将牌牌堆。'; lib.translate['qiexie_'+name+'_info']=str; @@ -2909,6 +2915,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else event.finish(); 'step 2' player.chooseToDiscard('h',true).logSkill=['tspowei_use',target]; + if(get.mode()!='identity'||player.identity!='nei') player.addExpose(0.2); target.damage(); 'step 3' player.addTempSkill('tspowei_inRange');