diff --git a/character/sb.js b/character/sb.js index 8583e8c8d..2d0f7d32f 100644 --- a/character/sb.js +++ b/character/sb.js @@ -360,7 +360,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ direct:true, async content(event,trigger,player){ let num=Math.max(1,player.getDamagedHp()); - const {result:{bool,targets}}=await player.chooseTarget(get.prompt('sbjieming'),`令一名角色摸三张牌,然后其可以弃置任意张牌。若其弃置的牌数小于${get.cnNumber(num)}张,你失去1点体力。`).set('ai',target=>{ + const {result:{bool,targets}}=await player.chooseTarget(get.prompt('sbjieming'),`令一名角色摸三张牌,然后其可以弃置任意张牌。若其弃置的牌数不大于${get.cnNumber(num)}张,你失去1点体力。`).set('ai',target=>{ if(get.event('nope')) return 0; const player=get.player(),att=get.attitude(player,target); if(att>2){ @@ -368,18 +368,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return num*att; } return att/3; - }).set('nope',(player.getHp()+player.countCards('hs',card=>player.canSaveCard(card,player))<=1)&&num>3); + }).set('nope',(player.getHp()+player.countCards('hs',card=>player.canSaveCard(card,player))<=1)&&num>2); if(!bool) return; const target=targets[0]; player.logSkill('sbjieming',target); await target.draw(3); num=Math.max(1,player.getDamagedHp()); - const {result:{bool:bool2,cards}}=await target.chooseToDiscard('节命:是否弃置任意张牌?',`若你本次弃置的牌数小于${get.cnNumber(num)}张,${get.translation(player)}失去1点体力。`,[1,Infinity],'he').set('ai',card=>{ + const {result:{bool:bool2,cards}}=await target.chooseToDiscard('节命:是否弃置任意张牌?',`若你本次弃置的牌数不大于${get.cnNumber(num)}张,${get.translation(player)}失去1点体力。`,[1,Infinity],'he').set('ai',card=>{ if(get.event('nope')) return 0; - if(ui.selected.cards.length>=get.event('num')) return 0; - return 5.5-get.value(card); + if(ui.selected.cards.length>get.event('num')) return 0; + return 6-get.value(card); }).set('nope',get.attitude(target,player)*get.effect(player,{name:'losehp'},player,target)>=0).set('num',num); - if(!bool2||cards.length3) return 2; + if(num>2) return [1,-2]; const players=game.filterPlayer(); for(const current of players){ if(get.attitude(target,current)>0){ max=Math.max(current.countCards('he'),max); } } - switch(max){ - case 0:return 2; - case 1:return 1.5; - case 2:return [1,2]; - default:return [0,max]; - } + return [1,Math.max(1,1+Math.min(2,max/3))]; } if((card.name=='tao'||card.name=='caoyao')&& target.hp>1&&target.countCards('h')<=target.hp) return [0,0]; @@ -6731,7 +6726,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sbquhu:'驱虎', sbquhu_info:'出牌阶段限一次。你可以选择两名有牌的其他角色,你与这些角色同时将任意张牌扣置于武将牌上。若你以此法扣置的牌唯一最少,则扣置牌最多的其他角色获得你扣置的牌,且这些角色获得各自扣置的牌;否则这两名角色中扣置牌较多的角色对较少的角色造成1点伤害,获得你扣置的牌,然后这些角色将各自扣置的牌置入弃牌堆(若这两名角色扣置的牌数相同,视为与你逆时针最近座次的角色扣置牌较多)。', sbjieming:'节命', - sbjieming_info:'当你受到伤害后,你可以令一名角色摸三张牌,然后其可以弃置任意张牌。若其弃置的牌数小于X,你失去1点体力(X为你已损失的体力值,至少为1)。', + sbjieming_info:'当你受到伤害后,你可以令一名角色摸三张牌,然后其可以弃置任意张牌。若其弃置的牌数不大于X,你失去1点体力(X为你已损失的体力值,至少为1)。', sb_zhi:'谋攻篇·知', sb_shi:'谋攻篇·识', diff --git a/character/sp.js b/character/sp.js index 75acc6de9..e6838f237 100755 --- a/character/sp.js +++ b/character/sp.js @@ -13582,7 +13582,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, direct:true, filter:function(event,player){ - return player!=event.player&&!event.player.isDisabledJudge()&&event.player.countCards('he')&&!event.player.countCards('j',{type:'delay'}); + return player!=event.player&&!event.player.isDisabledJudge()&&event.player.countCards('he')&&!event.player.countCards('j',card=>get.type(card.viewAs||card.name)=='delay'); }, content:function(){ 'step 0' diff --git a/image/character/clan_wuqiao.jpg b/image/character/clan_wuqiao.jpg index 9a82fcdc2..2ca0a9816 100644 Binary files a/image/character/clan_wuqiao.jpg and b/image/character/clan_wuqiao.jpg differ