Merge pull request #986 from mengxinzxz/PR-Branch

技能调整
This commit is contained in:
Spmario233 2024-02-25 12:01:58 +08:00 committed by GitHub
commit 1e7740e73a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 29 additions and 27 deletions

View File

@ -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')<event.shanRequired-(event.shanIgnored||0)) return false;
if(event.baseDamage+event.extraDamage>=target.hp+
((player.hasSkillTag('jueqing',false,target)||target.hasSkill('gangzhi'))?target.hujia:0)) return true;

View File

@ -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;
}
}
}

View File

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

View File

@ -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','<div class="text center">选择其中至多两张牌,然后你可以将其中至多一张牌交给另一名其他角色,然后弃置剩余的牌</div>',[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','<div class="text center">将选择的牌交给另一名其他角色或弃置此牌</div>');
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:'手杀胡班',