From 20bd79c2ed079c20b07ec491925644c0986d1193 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Fri, 15 Dec 2023 11:55:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=8B=E5=91=A8=E7=91=9C=E6=8A=80=E8=83=BD?= =?UTF-8?q?=E8=B0=83=E6=95=B4+bugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/xianding.js | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/character/xianding.js b/character/xianding.js index 6a3469214..af97a96e8 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -129,8 +129,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhuanhuanji:true, intro:{ content:function(storage){ - if(!storage) return '每回合限一次,当你使用牌指定第一个目标后,你可以选择一名目标角色,你将手牌数摸至与其相同,然后视为对其使用一张【火攻】。' - return '每回合限一次,当你使用牌指定第一个目标后,你可以选择一名目标角色,令一名手牌数为全场最大的角色对其使用手牌中所有的【杀】和伤害类锦囊牌,然后该角色将手牌数弃至与你相同。'; + if(!storage) return '每回合限一次,当你使用牌指定第一个目标后,你可以选择一名目标角色,你将手牌数摸至与其相同(至多摸五张),然后视为对其使用一张【火攻】。' + return '每回合限一次,当你使用牌指定第一个目标后,你可以选择一名目标角色,令一名手牌数为全场最大的角色对其使用手牌中所有的【杀】和伤害类锦囊牌。'; }, }, audio:2, @@ -146,7 +146,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(storage){ result=yield player.chooseCardTarget({ prompt:get.prompt('dcsbyingmou'), - prompt2:'选择一名目标角色,令一名手牌数为全场最大的角色对其使用手牌中所有的【杀】和伤害类锦囊牌,然后该角色将手牌数弃至与你相同', + prompt2:'选择一名目标角色,令一名手牌数为全场最大的角色对其使用手牌中所有的【杀】和伤害类锦囊牌', filterTarget:function(card,player,target){ if(!ui.selected.targets.length) return _status.event.targets.includes(target); return target.isMaxHandcard(); @@ -177,33 +177,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } else result=yield player.chooseTarget(get.prompt('dcsbyingmou'),'选择一名目标角色,将手牌数摸至与其相同,然后视为对其使用一张【火攻】',(card,player,target)=>_status.event.targets.includes(target)).set('ai',target=>{ var player=_status.event.player; - return Math.max(0,target.countCards('h')-player.countCards('h'))*2+get.effect(target,{name:'huogong'},player,player); + return Math.max(0,Math.min(5,target.countCards('h')-player.countCards('h')))*2+get.effect(target,{name:'huogong'},player,player); }).set('targets',targets); if(result.bool){ - var targets=result.targets; var target=result.targets[0]; if(storage){ - player.logSkill('dcsbyingmou',target,false); - player.line2(targets); + player.logSkill('dcsbyingmou',result.targets,false); + player.line2(result.targets); player.changeZhuanhuanji('dcsbyingmou'); var source=result.targets[1]; - while(source.countCards('h',card=>{ - if(get.name(card)!='sha'&&(get.type(card)!='trick'||!get.tag(card,'damage'))) return false; - return source.canUse(card,target,false); - })){ - source.useCard(source.getCards('h',card=>{ + while(true){ + var cards=source.getCards('h',card=>{ if(get.name(card)!='sha'&&(get.type(card)!='trick'||!get.tag(card,'damage'))) return false; return source.canUse(card,target,false); - }).randomGet(),target,false); + }); + if(cards.length) yield source.useCard(cards.randomGet(),target,false); + else break; } - player.when('dcsbyingmouEnd').then(()=>{ - if(player.countCards('h')>target.countCards('h')) player.chooseToDiscard(player.countCards('h')-target.countCards('h'),'h',true); - }).vars({target:source}); } else{ player.logSkill('dcsbyingmou',target); player.changeZhuanhuanji('dcsbyingmou'); - if(player.countCards('h')