From b5039f3f63a832618dfc9cca7fef5c0a07943004 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Sat, 24 Feb 2024 13:16:38 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=89=8B=E6=9D=80=E9=99=88=E7=8F=AA?= =?UTF-8?q?=E3=80=90=E8=AF=A1=E8=B0=8B=E3=80=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/mobile.js | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/character/mobile.js b/character/mobile.js index f26962b33..468d6e49a 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -687,7 +687,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } targets=targets.filter(target=>target!=player&&target.countCards('h')); if(targets.length){ - var result=yield player.chooseTarget('请选择【诡谋】的目标','观看一名可选择的角色的手牌并选择其中至多两张牌,然后你可以将其中至多一张牌交给另一名其他角色,然后弃置剩余的牌',(card,player,target)=>{ + var result=yield player.chooseTarget('请选择【诡谋】的目标','观看一名可选择的角色的手牌并选择其中一张牌,然后你可以此牌交给另一名其他角色或弃置此牌',(card,player,target)=>{ return _status.event.targets.includes(target)&&target.countCards('h'); },true).set('ai',target=>{ return Math.sqrt(Math.min(3,target.countCards('h')))*get.effect(target,{name:'guohe_copy2'},player,player); @@ -696,28 +696,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var target=result.targets[0]; player.logSkill('guimou',target); player.addExpose(0.3); - var result2=yield player.choosePlayerCard(target,'h','visible','
选择其中至多两张牌,然后你可以将其中至多一张牌交给另一名其他角色,然后弃置剩余的牌
',[1,2],true).set('ai',button=>get.value(button.link)); + var result2=yield player.choosePlayerCard(target,'h','visible',true).set('ai',button=>{ + return get.value(button.link); + }).set('prompt','诡谋:请选择'+get.translation(target)+'的一张手牌').set('prompt2','
将选择的牌交给另一名其他角色或弃置此牌
'); if(result2.bool){ - var cards=result2.links.slice(); - var result3; + var cards=result2.links.slice(),result3; if(!game.hasPlayer(targetx=>targetx!=player&&targetx!=target)) result3={bool:false}; - else result3=yield player.chooseCardButton('是否将其中至多一张牌交给另一名其他角色',cards).set('ai',button=>{ - var player=_status.event.player; - if(!game.hasPlayer(target=>target!=player&&target!=_status.event.target&&get.attitude(player,target)>0)) return 0; - return get.value(button.link,_status.event.player); - }).set('target',target); + else result3=yield player.chooseTarget('是否令另一名其他角色获得'+get.translation(cards)+'?',(card,player,target)=>{ + return target!=player&&target!=_status.event.target; + }).set('ai',target=>get.attitude(_status.event.player,target)).set('target',target); if(result3.bool){ - var result4=yield player.chooseTarget('请选择获得'+get.translation(result3.links)+'的目标',(card,player,target)=>{ - return target!=player&&target!=_status.event.target; - }).set('ai',target=>get.attitude(_status.event.player,target)).set('target',target); - if(result4.bool){ - var targetx=result4.targets[0]; - player.line(targetx); - targetx.gain(result3.links,target,'give'); - cards.removeArray(result3.links); - } + var targetx=result3.targets[0]; + player.line(targetx); + targetx.gain(cards,target,'give'); } - if(cards.length) target.discard(cards).discarder=player; + else target.discard(cards).discarder=player; } } } @@ -16509,7 +16502,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ mb_chengui:'手杀陈珪', mb_chengui_prefix:'手杀', guimou:'诡谋', - guimou_info:'锁定技。游戏开始时/回合结束时,你随机/须选择以下一项直到你的下个准备阶段:①记录场上期间角色使用牌数;②记录期间场上角色弃置牌数;③记录期间场上角色获得牌数。准备阶段,你可以选择一名场上对应记录数值最少的其他角色,观看其手牌并选择其中至多两张牌,然后你可以将其中至多一张牌交给另一名其他角色,然后弃置其余牌。', + guimou_info:'锁定技。游戏开始时/回合结束时,你随机/须选择以下一项直到你的下个准备阶段:①记录场上期间角色使用牌数;②记录期间场上角色弃置牌数;③记录期间场上角色获得牌数。准备阶段,你可以选择一名场上对应记录数值最少的其他角色,观看其手牌并选择其中一张牌,然后你将此牌交给另一名其他角色或弃置此牌。', zhouxian:'州贤', zhouxian_info:'锁定技。当你成为其他角色使用的伤害类卡牌的目标后,你亮出牌堆顶的三张牌,然后其须选择一项:①弃置一张与亮出牌之一类别相同的牌;②令此牌对你无效。', mb_huban:'手杀胡班', From 19101d7fbaa1cf39d8a752a7c79a5a40f2bc7318 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Sat, 24 Feb 2024 13:22:11 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E3=80=90=E6=9D=80=E3=80=91ai=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- card/standard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/card/standard.js b/card/standard.js index e6b87c8dd..7369fa8fe 100644 --- a/card/standard.js +++ b/card/standard.js @@ -155,7 +155,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ next.set('useShan',(()=>{ if(target.hasSkillTag('noShan',null,event)) return false; if(target.hasSkillTag('useShan',null,event)) return true; - if(event.baseDamage+event.extraDamage<=0 || target.isLink()&&game.hasNature(event.card)&&get.attitude(target,player._trueMe||player)>0) return false; + if(event.baseDamage+event.extraDamage<=0 || target.isLinked()&&game.hasNature(event.card)&&get.attitude(target,player._trueMe||player)>0) return false; if(event.shanRequired>1&&target.mayHaveShan(target,'use',null,'count')=target.hp+ ((player.hasSkillTag('jueqing',false,target)||target.hasSkill('gangzhi'))?target.hujia:0)) return true; From 6015571650c3b9bf8071c77c806b30dd765ef18d Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Sat, 24 Feb 2024 17:34:28 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=BB=84=E6=89=BF?= =?UTF-8?q?=E5=BD=A6=E3=80=90=E6=8B=A9=E6=89=8D=E3=80=91=E3=80=81=E5=90=88?= =?UTF-8?q?=E5=8F=B8=E9=A9=AC=E6=87=BF=E3=80=90=E8=9C=95=E9=AA=A8=E3=80=91?= =?UTF-8?q?=E5=BB=B6=E5=90=8E=E7=9A=84=E5=9B=9E=E5=90=88=E4=B8=BA=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E5=9B=9E=E5=90=88=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/huicui.js | 3 ++- character/jsrg.js | 18 +++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/character/huicui.js b/character/huicui.js index 7cc2c9b8d..15d2e126c 100644 --- a/character/huicui.js +++ b/character/huicui.js @@ -7309,7 +7309,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(evt.player!=target&&!evt._finished){ evt.finish(); evt._triggered=5; - evt.player.insertPhase(); + var evtx=evt.player.insertPhase(); + delete evtx.skill; } } } diff --git a/character/jsrg.js b/character/jsrg.js index 270abd8cd..1ca82ff69 100644 --- a/character/jsrg.js +++ b/character/jsrg.js @@ -952,7 +952,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(curLen<=2) return false; for(let i=curLen-2;i>=0;i--){ const history=player.actionHistory[i]; - if(history.isMe&&!history.isSkipped) return false; + if(history.isMe&&!history.isSkipped&&!history._jsrgtuigu) return false; if(history.isRound) break; } return true; @@ -960,12 +960,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ forced:true, locked:false, async content(event,trigger,player){ - const evt=trigger; - player.insertPhase(); + const evt=trigger,evtx=player.insertPhase(); + player.when('phaseBeforeStart') + .filter(evtt=>evtt==evtx) + .then(()=>{ + game.players.slice().concat(game.dead).forEach(current=>{ + current.getHistory()._jsrgtuigu=true; + current.getStat()._jsrgtuigu=true; + }); + }); if(evt.player!=player&&!evt._finished){ evt.finish(); evt._triggered=5; - evt.player.insertPhase(); + const evtxx=evt.player.insertPhase(); + delete evtxx.skill; } }, }, @@ -8285,7 +8293,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jsrgyingshi:'鹰眎', jsrgyingshi_info:'当你翻面时,你可以观看牌堆底的三张牌(若死亡角色数大于2则改为五张),然后将其中任意数量的牌以任意顺序置于牌堆顶,其余以任意顺序置于牌堆底。', jsrgtuigu:'蜕骨', - jsrgtuigu_info:'①回合开始时,你可以翻面并令你本回合的手牌上限+X,然后摸X张牌并视为使用一张【解甲归田】(X为存活角色数的一半,向下取整),目标角色不能使用以此法得到的牌直到其回合结束。②一轮游戏开始时,若你上一轮未执行过回合,你获得一个额外的回合。③当你失去装备牌里的牌后,你回复1点体力。', + jsrgtuigu_info:'①回合开始时,你可以翻面并令你本回合的手牌上限+X,然后摸X张牌并视为使用一张【解甲归田】(X为存活角色数的一半,向下取整),目标角色不能使用以此法得到的牌直到其回合结束。②一轮游戏开始时,若你上一轮未执行过回合(因〖蜕骨②〗执行的回合除外),你获得一个额外的回合。③当你失去装备牌里的牌后,你回复1点体力。', jsrg_guoxun:'合郭循', jsrg_guoxun_prefix:'合', jsrgeqian:'遏前',