Merge pull request #1184 from mengxinzxz/PR-Branch

卢氏、曹宇技能修改
This commit is contained in:
Spmario233 2024-04-11 23:25:35 +08:00 committed by GitHub
commit 7625c52737
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 105 additions and 30 deletions

View File

@ -58,7 +58,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_mengda:['male','shu',4,['olgoude']],
ol_wanglang:['male','wei',3,['gushe','oljici']],
ol_liuyan:['male','qun','4/6',['olpianan','olyinji','olkuisi']],
lushi:['female','qun',3,['olzhuyan','olleijie']],
lushi:['female','qun',3,['olzhuyan','releijie']],
zhangshiping:['male','shu',3,['olhongji','olxinggu']],
sunhong:['male','wu',3,['olxianbi','olzenrun']],
luoxian:['male','shu',4,['oldaili']],
@ -1718,56 +1718,86 @@ game.import('character',function(lib,game,ui,get,ai,_status){
usable:1,
logTarget:()=>_status.currentPhase,
async content(event,trigger,player){
player.when({global:'phaseEnd'}).then(()=>{
player.when({global:'phaseEnd'})
.then(()=>{
if(target&&target.isIn()){
var num=target.countCards('h')-player.countCards('h');
if(num){
if(num>0){
if(player.countCards('h')<5) player.draw(Math.min(5-player.countCards('h'),num));
event.finish();
}
else player.chooseToDiscard(-num,'h',true);
}
else event.finish();
}
}).vars({target:_status.currentPhase});
else event.finish();
})
.then(()=>{
if(result.bool&&result.cards.length>1){
if(player.isDamaged()) player.recover();
}
})
.vars({target:_status.currentPhase});
},
},
olxiangzuo:{
audio:2,
trigger:{player:'dying'},
filter(event,player){
if(!_status.currentPhase||!_status.currentPhase.isIn()) return false;
return player.countCards('he');
return player.countCards('he')&&game.hasPlayer(target=>target!=player);
},
async cost(event,trigger,player){
event.result=await player.chooseCardTarget({
prompt:get.prompt2('olxiangzuo'),
filterCard:true,
selectCard:[1,Infinity],
filterTarget:lib.filter.notMe,
complexCard:true,
complexTarget:true,
complexSelect:true,
ai1(card){
const player=get.event('player');
if(!ui.selected.targets.length) return 0;
const target=ui.selected.targets[0];
if(player.getHistory('useSkill',evt=>{
return evt.skill=='olgongjie'&&(evt.targets||[evt.target]).includes(target);
}).length&&player.getHistory('useSkill',evt=>{
return evt.skill=='olxiangxv'&&(evt.targets||[evt.target]).includes(target);
}).length){
if(get.attitude(player,target)>0) return 1;
if(player.canSaveCard(card,player)) return 0;
if(ui.selected.cards.length+player.hp>=player.maxHp) return 0;
return 20-get.value(card);
}
if(get.attitude(player,target)>0&&!player.countCards('he',cardx=>player.canSaveCard(cardx,player))) return 1;
return 0;
},
ai2(target){
const player=get.event('player');
const goon=(player.getHistory('useSkill',evt=>{
return evt.skill=='olgongjie'&&(evt.targets||[evt.target]).includes(target);
}).length&&player.getHistory('useSkill',evt=>{
return evt.skill=='olxiangxv'&&(evt.targets||[evt.target]).includes(target);
}).length),att=get.attitude(player,target);
if(goon) return 5*att;
if(!!player.countCards('he',cardx=>player.canSaveCard(cardx,player))) return att;
return 0;
},
}).forResult();
},
direct:true,
limited:true,
skillAnimation:true,
animationColor:'water',
async content(event,trigger,player){
var target=_status.currentPhase,num=player.countCards('he');
var {result:{bool,cards}}=await player.chooseToGive(get.prompt2('olxiangzuo',target),[1,num],'he').set('ai',card=>{
var player=_status.event.player,target=_status.event.target;
if(player.getHistory('useSkill',evt=>{
return evt.skill=='olgongjie'&&evt.targets.includes(target);
}).length&&player.getHistory('useSkill',evt=>{
return evt.skill=='olxiangxv'&&evt.targets.includes(target);
}).length){
if(get.attitude(player,target)>0) return 1;
if(player.canSaveCard(card,player)) return 0;
if(ui.selected.cards.length+player.hp>=player.maxHp) return 0;
return 20-get.value(card);
}
else{
if(get.attitude(player,target)>0&&!player.countCards('he',cardx=>player.canSaveCard(cardx,player))) return 1;
return 0;
}
}).set('target',target).set('complexCard',true).set('logSkill',['olxiangzuo',target]);
if(!bool) return;
const target=event.targets[0],cards=event.cards;
player.awakenSkill('olxiangzuo');
await player.give(cards,target);
if(player.getHistory('useSkill',evt=>{
return evt.skill=='olgongjie'&&evt.targets.includes(target);
}).length&&player.getHistory('useSkill',evt=>{
return evt.skill=='olxiangxv'&&evt.targets.includes(target);
}).length) player.recover(cards.length);
}).length) await player.recover(cards.length);
},
},
//OL飞扬
@ -5280,7 +5310,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
subSkill:{
record:{
trigger:{
global:['phaseZhunbeiAfter','phaseBefore','enterGame'],
global:['phaseJieshuAfter','phaseBefore','enterGame'],
},
lastDo:true,
charlotte:true,
@ -5350,6 +5380,49 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
releijie:{
audio:'olleijie',
enable:'phaseUse',
filterTarget:true,
usable:1,
async content(event,trigger,player){
const target=event.target,result=await target.judge(card=>{
var number=get.number(card);
if(get.suit(card)=='spade'&&number>=2&&number<=9) return -4;
return 2;
}).set('judge2',result=>{
return result.bool===false?true:false;
}).forResult();
if(result.bool) await target.draw(2);
else{
const card=new lib.element.VCard({name:'sha',nature:'thunder'});
if(player.canUse(card,target,false)){
for(let i=1;i<=2;i++){
await player.useCard(card,target,false);
}
}
}
},
ai:{
order:1,
result:{
target(player,target){
let sgn=0,eff=0,num=get.attitude(player,target);
const card=new lib.element.VCard({name:'sha',nature:'thunder'});
game.countPlayer(current=>{
if(!current.hasSkillTag('rejudge')) return;
sgn=get.sgnAttitude(player,current);
});
if(sgn>0&&player.canUse(card,target,false)){
eff+=get.effect(target,card,player,player)*2;
return eff*get.sgn(num);
}
else if(sgn==0) return num*get.sgn(num);
return 0;
},
},
},
},
//张世平
olhongji:{
audio:2,
@ -27637,9 +27710,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
olxinggu_info:'①游戏开始时,你将牌堆中的三张坐骑牌扣置于武将牌上。②结束阶段,你可以将一张〖行贾①〗牌置于一名其他角色的装备区,然后你从牌堆获得一张♦牌。',
lushi:'卢氏',
olzhuyan:'驻颜',
olzhuyan_info:'每名角色每项各限一次。结束阶段,你可以令一名角色将以下一项调整至与其上一个准备阶段结束后相同1.体力值2.手牌数体力值至多失去至1手牌数至多摸至5若其未执行过准备阶段则改为游戏开始时。',
olzhuyan_info:'每名角色每项各限一次。结束阶段,你可以令一名角色将以下一项调整至与其上一个结束阶段结束后相同1.体力值2.手牌数体力值至多失去至1手牌数至多摸至5若其未执行过准备阶段则改为游戏开始时。',
olleijie:'雷劫',
olleijie_info:'准备阶段你可以令一名角色判定若结果为♠2~9其受到2点雷电伤害否则其摸两张牌。',
releijie:'雷劫',
releijie_info:'出牌阶段限一次你可以令一名角色判定若结果为黑桃2~9则你视为依次对其使用两张雷【杀】否则其摸两张牌。',
ol_liuyan:'OL刘焉',
ol_liuyan_prefix:'OL',
olpianan:'偏安',
@ -27759,9 +27834,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
olgongjie:'恭节',
olgongjie_info:'每轮的首个回合开始时你可以令任意名角色获得你的一张牌然后你摸X张牌X为你本次失去的花色数。',
olxiangxv:'相胥',
olxiangxv_info:'当你的手牌数变为全场最少时,你可以获得以下效果:本回合结束时,将手牌数调整至与当前回合角色手牌数相同(至多摸至五张)。',
olxiangxv_info:'当你的手牌数变为全场最少时,你可以获得以下效果:本回合结束时,将手牌数调整至与当前回合角色手牌数相同(至多摸至五张)然后若你以此法弃置了至少两张手牌则你回复1点体力。',
olxiangzuo:'襄胙',
olxiangzuo_info:'限定技,当你进入濒死状态时,你可以交给当前回合角色任意张牌,若如此做,若你本回合已对其发动过〖恭节〗和〖相胥〗,你回复等量的体力。',
olxiangzuo_info:'限定技,当你进入濒死状态时,你可以交给一名其他角色任意张牌,然后若你本回合已对其发动过〖恭节〗和〖相胥〗,你回复等量的体力。',
liyi:'李异',
olchanshuang:'缠双',
olchanshuang_info:'①出牌阶段限一次你可以选择一名其他角色。你与其依次选择〖缠双③〗的一项然后你与其依次执行各自选择的项。②结束阶段若X大于0你执行〖缠双③〗的前X项X为你本回合以任意形式执行过的〖缠双③〗的选项数。③选项1.重铸一张牌2.使用一张【杀】3.弃置两张牌。',

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 106 KiB