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:'遏前',