新服改将调整

This commit is contained in:
copcap 2023-12-04 18:19:54 +08:00
parent 405b89c5b1
commit 4e1c2c4419
No known key found for this signature in database
GPG Key ID: 30E7AB6699451AEE
2 changed files with 62 additions and 51 deletions

View File

@ -950,7 +950,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:['gainAfter','loseAsyncAfter']},
forced:true,
filter:(event,player)=>{
if(player==_status.currentPhase) return false;
// if(player==_status.currentPhase) return false;
if(event.getParent('phaseDraw',true)) return false;
const evt=player.getHistory('gain')[0];
if(!evt) return false;
if(event.name=='gain'){
if(evt!=event||event.getlx===false) return false;
}
else if(evt.getParent()!=event) return false;
const hs=player.getCards('h');
if(!hs.length) return false;
const cards=event.getg(player);
@ -998,17 +1005,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.give(cards,target,true);
event.color=get.color(cards[0],player);
'step 1'
if(target.isIn()){
var num=Math.min(Math.abs(target.getHp()-player.getHp()),5);
if(num>0) player.draw(num);
}
'step 2'
if(event.color=='red'){
if(target.getHp()<=player.getHp()&&target.isDamaged()) target.recover();
}
else if(event.color=='black'){
if(target.getHp()>=player.getHp()) target.loseHp()
}
'step 2'
if(target.isIn()){
var num=Math.min(Math.abs(target.getHp()-player.getHp()),5);
if(num>0) player.draw(num);
}
},
ai:{
combo:'dclingkong',
@ -1944,17 +1951,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
target.draw(2);
'step 1'
var marked=target.hasMark('dcjizhong');
var cards=target.getCards('h');
if(marked){
if(target.countCards('h')) target.chooseToDiscard('集众:弃置三张手牌',3,true);
event.finish();
if(cards.length<=3) event._result={bool:true,cards:cards};
else target.chooseCard(`集众:交给${get.translation(player)}三张手牌`,3,true);
}
else{
target.chooseToDiscard('集众:弃置三张手牌,或点击“取消”获得“信众”标记',3);
target.chooseCard(`集众:交给${get.translation(player)}三张手牌,或点击“取消”获得“信众”标记`,3).set('ai',card=>{
if(get.event('goon')) return 20-get.value(card);
return 1-get.value(card);
}).set('goon',get.attitude(target,player)>0);
}
'step 2'
if(!result.bool){
target.addMark('dcjizhong',1);
}
else{
target.give(result.cards,player);
}
},
marktext:'信',
intro:{
@ -2035,8 +2049,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
forced:true,
content:function(){
player.loseHp();
player.draw(2);
player.loseHp();
}
},
//董绾
@ -11291,11 +11305,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dcmoyu_info:'出牌阶段每名角色限一次。你可以获得一名其他角色区域里的一张牌然后其可以对你使用一张无距离限制的【杀】且此【杀】伤害基数为XX为你于本回合发动此技能的次数。若此【杀】对你造成了伤害你令此技能于本回合失效。',
zhangchu:'张楚',
dcjizhong:'集众',
dcjizhong_info:'出牌阶段限一次。你可以令一名其他角色摸两张牌然后其选择一项1.若其没有“信众”标记其获得“信众”标记2.弃置三张手牌。',
dcjizhong_info:'出牌阶段限一次。你可以令一名其他角色摸两张牌然后其选择一项1.若其没有“信众”标记其获得“信众”标记2.交给你三张手牌。',
dcrihui:'日彗',
dcrihui_info:'每回合限一次。当你使用普通锦囊牌或黑色基本牌结算结束后若此牌的目标数为1且目标不为你且其没有“信众”则所有有“信众”的角色依次视为对其使用一张与此牌牌名和属性相同的牌有“信众”则你可以获得其区域里的一张牌。',
dcguangshi:'光噬',
dcguangshi_info:'锁定技。准备阶段,若所有其他角色均有“信众”,你失去1点体力并摸两张牌。',
dcguangshi_info:'锁定技。准备阶段,若所有其他角色均有“信众”,你摸两张牌并失去1点体力。',
dongwan:'董绾',
dcshengdu:'生妒',
dcshengdu_info:'回合开始时,你可以选择一名其他角色。当其于其的下个摸牌阶段得到牌后,你摸等量的牌。',
@ -11344,9 +11358,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yue_zhoufei_prefix:'乐',
dclingkong:'灵箜',
dclingkong_tag:'箜篌',
dclingkong_info:'锁定技。①游戏开始时,你将所有手牌标记为“箜篌”。②你的“箜篌”牌不计入手牌上限。③当你于回合外得牌后,系统随机将其中的一张牌标记为“箜篌”。',
dclingkong_info:'锁定技。①游戏开始时,你将所有手牌标记为“箜篌”。②你的“箜篌”牌不计入手牌上限。③当你于回合内首次于摸牌阶段外得牌后,系统随机将其中的一张牌标记为“箜篌”。',
dcxianshu:'贤淑',
dcxianshu_info:'出牌阶段,你可以将一张“箜篌”正面向上交给一名其他角色。若此牌为红色且该角色的体力值不大于你则其回复1点体力若此牌为黑色且该角色的体力值不小于你则其失去1点体力。此技能结算完成后你摸X张牌X为你与其的体力值之差且至多为5。',
dcxianshu_info:'出牌阶段,你可以将一张“箜篌”正面向上交给一名其他角色然后你摸X张牌X为你与其的体力值之差且至多为5。若此牌为红色且该角色的体力值不大于你则其回复1点体力若此牌为黑色且该角色的体力值不小于你则其失去1点体力。',
dc_zhangmancheng:'张曼成',
dclvecheng:'掠城',
dclvecheng_info:'出牌阶段限一次。你可以选择一名其他角色,你于本回合对其使用当前手牌中的【杀】无任何次数限制。然后回合结束时,其展示所有手牌,若其中有【杀】,其可以选择对你依次使用其中所有的【杀】。',

View File

@ -4197,7 +4197,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 1'
var check=0;
if(player.hasHistory('gain',evt=>{
return evt.getParent(2)==event&&evt.cards.length>=2;
return evt.getParent(2)==event&&evt.cards.length>=3;
})) check|=1;
if(game.getGlobalHistory('changeHp',evt=>{
return evt.getParent().name=='recover'&&evt.getParent(2)==event;
@ -4223,7 +4223,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
if((player.storage.dcxinyou_effect&1)>0) player.loseHp();
if((player.storage.dcxinyou_effect&2)>0) player.chooseToDiscard('心幽:弃置两张牌',2,true,'he');
if((player.storage.dcxinyou_effect&2)>0) player.chooseToDiscard('心幽:请弃置一张牌',1,true,'he');
}
}
}
@ -4547,43 +4547,40 @@ game.import('character',function(lib,game,ui,get,ai,_status){
direct:true,
content:function(){
'step 0'
if(lib.skill.dcjinjie.hasPhase(player)){
player.chooseBool(get.prompt('dcjinjie',trigger.player),'令其摸一张牌').set('ai',()=>{
return get.attitude(_status.event.player,_status.event.getTrigger().player)>0;
});
}
else{
var num=0;
var history=player.actionHistory;
for(var i=history.length-1;i>=0;i--){
for(var evt of history[i].useSkill){
if(evt.skill=='dcjinjie') num++;
}
if(history[i].isRound) break;
}
if(num==0){
player.chooseBool(get.prompt('dcjinjie',trigger.player),'令其回复1点体力').set('ai',()=>{
var player=_status.event.player;
return get.effect(_status.event.getTrigger().player,{name:'tao'},player,player)>0;
});
}
else{
player.chooseToDiscard(get.prompt('dcjinjie',trigger.player),'弃置'+get.cnNumber(num)+'张牌令其回复1点体力','he',num).set('ai',card=>{
if(_status.event.eff>0) return get.value({name:'tao'})-get.value(card);
return 0;
}).set('eff',get.effect(trigger.player,{name:'tao'},player,player)).set('logSkill',['dcjinjie',trigger.player]);
}
event.goto(2);
}
player.chooseBool(get.prompt('dcjinjie',trigger.player),'令其摸一张牌').set('ai',()=>{
return get.attitude(_status.event.player,_status.event.getTrigger().player)>0;
});
'step 1'
if(result.bool){
player.logSkill('dcjinjie',trigger.player);
trigger.player.draw();
}
event.finish();
else event.finish();
if(lib.skill.dcjinjie.hasPhase(player)) event.finish();
'step 2'
var num=0;
var history=player.actionHistory;
for(var i=history.length-1;i>=0;i--){
for(var evt of history[i].useSkill){
if(evt.skill=='dcjinjie') num++;
}
if(history[i].isRound) break;
}
if(num==0){
player.chooseBool(get.prompt('dcjinjie',trigger.player),'令其回复1点体力').set('ai',()=>{
var player=_status.event.player;
return get.effect(_status.event.getTrigger().player,{name:'tao'},player,player)>0;
});
}
else{
player.chooseToDiscard(get.prompt('dcjinjie',trigger.player),'弃置'+get.cnNumber(num)+'张牌令其回复1点体力','he',num).set('ai',card=>{
if(_status.event.eff>0) return get.value({name:'tao'})-get.value(card);
return 0;
}).set('eff',get.effect(trigger.player,{name:'tao'},player,player));
}
'step 3'
if(result.bool){
if(!result.cards||!result.cards.length) player.logSkill('dcjinjie',trigger.player);
player.line(trigger.player,'green');
trigger.player.recover();
}
},
@ -4593,12 +4590,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'phaseZhunbeiBegin'},
direct:true,
filter:function(event,player){
return game.hasPlayer(current=>current.isHealthy()&&player.canUse('sha',current,false));
return game.hasPlayer(current=>(current.getHp()>player.getHp()||current.countCards('h')>player.countCards('h'))&&player.canUse('sha',current,false));
},
content:function(){
'step 0'
player.chooseTarget(get.prompt('dcjue'),'视为对一名未受伤的角色使用一张【杀】',(card,player,target)=>{
return player.canUse('sha',target,false)&&target.isHealthy();
player.chooseTarget(get.prompt('dcjue'),'视为对一名体力值或手牌数大于你的角色使用一张【杀】',(card,player,target)=>{
return player.canUse('sha',target,false)&&(target.getHp()>player.getHp()||target.countCards('h')>player.countCards('h'));
}).set('ai',target=>{
return get.effect(target,{name:'sha'},_status.event.player);
});
@ -13155,7 +13152,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dczhaohan:'昭汉',
dczhaohan_info:'摸牌阶段你可以多摸两张牌然后你于得到牌后选择一项1.将两张手牌交给一名没有手牌的角色2.弃置两张手牌。',
dcjinjie:'尽节',
dcjinjie_info:'当一名角色进入濒死状态时,若你本轮:进行过回合,你可以令其摸一张牌;未进行过回合你可以弃置X张手牌令其回复1点体力X为本轮你发动过〖尽节〗的次数。',
dcjinjie_info:'当一名角色进入濒死状态时,可以令其摸一张牌。然后若你本轮未进行过回合你可以弃置X张手牌令其回复1点体力X为本轮你发动过〖尽节〗的次数。',
dcjue:'举讹',
dcjue_info:'准备阶段,你可以视为对一名未受伤的角色使用一张【杀】。',
dc_tengfanglan:'滕芳兰',
@ -13167,7 +13164,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dcyuandi:'元嫡',
dcyuandi_info:'当其他角色于其出牌阶段使用第一张牌时若此牌仅指定其为目标你可以选择一项1.弃置其一张手牌2.你与其各摸一张牌。',
dcxinyou:'心幽',
dcxinyou_info:'出牌阶段限一次。你可以将体力回复至上限并将手牌补至体力上限。若你以此法:获得了至少两张牌你于结束阶段失去1点体力回复了体力你于结束阶段弃置两张牌。',
dcxinyou_info:'出牌阶段限一次。你可以将体力回复至上限并将手牌补至体力上限。若你以此法:获得了至少三张牌你于结束阶段失去1点体力回复了体力你于结束阶段弃置一张牌。',
zerong:'笮融',
dccansi:'残肆',
dccansi_info:'锁定技。准备阶段你回复1点体力然后选择一名其他角色其回复1点体力你视为对其依次使用以下能使用的牌【杀】无距离限制、【决斗】、【火攻】。当其以此法受到1点伤害后你摸两张牌。',