OL丁尚涴,OL李婉技能更新

This commit is contained in:
mengxinzxz 2023-11-10 23:27:24 +08:00
parent 0fa9811e92
commit 61b84e499b
1 changed files with 56 additions and 28 deletions

View File

@ -749,7 +749,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!i) continue; if(!i) continue;
str+='<br>'; str+='<br>';
str+=get.translation(target)+'的下个结束阶段,其可令你获得其本回合使用的最后一张牌对应的所有位于弃牌堆的实体牌'; str+=get.translation(target)+'的下个结束阶段,其可令你获得其本回合使用的最后一张牌对应的所有位于弃牌堆的实体牌';
str+=',然后若此牌名为'+get.translation(player.storage.ollianju_effect[i])+'则你失去1点体力'; str+=',然后若此牌名为'+get.translation(player.storage.ollianju_effect[i])+'则你失去1点体力,否则你可以视为使用'+get.translation(player.storage.ollianju_effect[i]);
} }
} }
return str; return str;
@ -779,10 +779,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger.player.chooseBool(get.prompt('ollianju',player),'令'+get.translation(player)+'获得'+get.translation(evt.cards.filterInD('d'))+(event.list.contains(evt.card.name)?',然后'+get.translation(player)+'失去1点体力':'')).set('choice',get.attitude(trigger.player,player)>0&&(!event.list.contains(evt.card.name)||player.getHp()>1)); trigger.player.chooseBool(get.prompt('ollianju',player),'令'+get.translation(player)+'获得'+get.translation(evt.cards.filterInD('d'))+(event.list.contains(evt.card.name)?',然后'+get.translation(player)+'失去1点体力':'')).set('choice',get.attitude(trigger.player,player)>0&&(!event.list.contains(evt.card.name)||player.getHp()>1));
'step 2' 'step 2'
if(result.bool){ if(result.bool){
var evt=event.evt; var evt=event.evt,cards=evt.cards.filterInD('d');
trigger.player.line(player); trigger.player.line(player);
player.gain(evt.cards.filterInD('d'),'gain2'); player.gain(cards,'gain2');
if(event.list.contains(evt.card.name)) player.loseHp(); if(event.list.contains(evt.card.name)) player.loseHp();
else{
var card={
name:evt.card.name,
isCard:true,
};
if(player.hasUseTarget(card)) player.chooseUseTarget(card,false);
}
} }
}, },
}, },
@ -797,13 +804,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function(event,player){ filter:function(event,player){
var name=player.storage.ollianju; var name=player.storage.ollianju;
if(!name) return false; if(!name) return false;
if(event.getg) return event.getg(player).some(card=>card.name==name); if(event.getg) return event.getg(player).some(card=>card.name==name)&&!player.hasSkill('olsilv_gain');
return event.getl(player).cards2.some(card=>card.name==name); return event.getl(player).cards2.some(card=>card.name==name)&&!player.hasSkill('olsilv_lose');
}, },
forced:true, forced:true,
usable:1,
content:function(){ content:function(){
'step 0' 'step 0'
player.addTempSkill('olsilv'+(trigger.getg?'gain':'lose'));
if(!trigger.visible){ if(!trigger.visible){
var cards,name=player.storage.ollianju; var cards,name=player.storage.ollianju;
if(trigger.getg) cards=trigger.getg(player).filter(card=>card.name==name); if(trigger.getg) cards=trigger.getg(player).filter(card=>card.name==name);
@ -814,6 +821,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.draw(); player.draw();
}, },
ai:{combo:'ollianju'}, ai:{combo:'ollianju'},
subSkill:{
gain:{charlotte:true},
lose:{charlotte:true},
},
}, },
//丁尚涴 //丁尚涴
olfudao:{ olfudao:{
@ -829,27 +840,44 @@ game.import('character',function(lib,game,ui,get,ai,_status){
locked:false, locked:false,
content:function(){ content:function(){
'step 0' 'step 0'
var list=[],num=player.countCards('he'); player.draw(3);
for(var i=-4;i<=4;i++){
if(num+i<0||i==0) continue;
list.push(i);
}
player.chooseControl(list).set('prompt','讽言:请选择一个数字').set('prompt2','令此数值作为调整的手牌数值').set('ai',function(){
var list=[],num=_status.event.player.countCards('he');
for(var i=-4;i<=4;i++){
if(num+i<0||i==0) continue;
if(i>0&&i!=4) continue;
list.push(i);
}
return list.randomGet();
});
'step 1' 'step 1'
var num=result.control var num=player.countCards('h');
player.popup(num); if(num>0){
if(num>0) player.draw(num); player.chooseCardTarget({
else player.chooseToDiscard('he',true,-num); prompt:'抚悼:将至多三手张牌交给一名其他角色',
selectCard:[1,3],
filterCard:true,
filterTarget:lib.filter.notMe,
position:'h',
forced:true,
ai1:function(card){
if(card.name=='du') return 10;
else if(ui.selected.cards.length&&ui.selected.cards[0].name=='du') return 0;
var player=_status.event.player;
if(ui.selected.cards.length>4||!game.hasPlayer(function(current){
return get.attitude(player,current)>0&&!current.hasSkillTag('nogain');
})) return 0;
return 1/Math.max(0.1,get.value(card));
},
ai2:function(target){
var player=_status.event.player,att=get.attitude(player,target);
if(ui.selected.cards[0].name=='du') return -att;
if(target.hasSkillTag('nogain')) att/=6;
return att;
},
});
}
else event.goto(3);
'step 2' 'step 2'
player.storage.olfudao=player.countCards('he'); if(result.bool){
player.give(result.cards,result.targets[0]);
}
'step 3'
var num=player.countCards('h');
if(num>0) player.chooseToDiscard('h',[1,num],'抚悼:弃置任意张手牌,然后记录手牌数');
'step 4'
player.storage.olfudao=player.countCards('h');
player.markSkill('olfudao'); player.markSkill('olfudao');
}, },
intro:{ intro:{
@ -26494,15 +26522,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_dingshangwan:'OL丁尚涴', ol_dingshangwan:'OL丁尚涴',
ol_dingshangwan_prefix:'OL', ol_dingshangwan_prefix:'OL',
olfudao:'抚悼', olfudao:'抚悼',
olfudao_info:'①游戏开始时,你选择弃置或摸至多四张牌,然后记录你的手牌数。②一名角色的回合结束时,若其手牌数和你发动〖抚悼①〗记录的数值相同,则你可以与其各摸一张牌。', olfudao_info:'①游戏开始时,你摸三张牌并将至多三张手牌交给一名其他角色,然后弃置任意张手牌并记录你的手牌数。②一名角色的回合结束时,若其手牌数和你发动〖抚悼①〗记录的数值相同,则你可以与其各摸一张牌。',
olfengyan:'讽言', olfengyan:'讽言',
olfengyan_info:'锁定技。①当你受到其他角色造成的伤害后,你摸一张牌,然后交给其一张牌。②当你响应其他角色使用的牌时,其摸一张牌,然后弃置两张牌。', olfengyan_info:'锁定技。①当你受到其他角色造成的伤害后,你摸一张牌,然后交给其一张牌。②当你响应其他角色使用的牌时,其摸一张牌,然后弃置两张牌。',
ol_liwan:'OL李婉', ol_liwan:'OL李婉',
ol_liwan_prefix:'OL', ol_liwan_prefix:'OL',
ollianju:'联句', ollianju:'联句',
ollianju_info:'结束阶段你可以令一名其他角色获得你本回合使用的最后一张牌A对应的所有位于弃牌堆的实体牌并记录A的牌名然后其下个结束阶段可以令你获得其本回合使用的最后一张牌B对应的所有位于弃牌堆的实体牌且若A与B的牌名相同则你失去1点体力。', ollianju_info:'结束阶段你可以令一名其他角色获得你本回合使用的最后一张牌A对应的所有位于弃牌堆的实体牌并记录A的牌名然后其下个结束阶段可以令你获得其本回合使用的最后一张牌B对应的所有位于弃牌堆的实体牌然后若A与B的牌名相同则你失去1点体力若A与B的牌名不同则你可以视为使用A。',
olsilv:'思闾', olsilv:'思闾',
olsilv_info:'锁定技,每回合限一次,当你获得或失去你发动〖联句〗记录的最后一次牌名的同名牌后,你展示这些牌,然后摸一张牌。', olsilv_info:'锁定技,每回合每项限一次,当你获得或失去你发动〖联句〗记录的最后一次牌名的同名牌后,你展示这些牌,然后摸一张牌。',
xueji_old:'血祭', xueji_old:'血祭',
xueji_old_info:'出牌阶段限一次你可以弃置一张红色牌并对攻击范围内的至多X名角色各造成1点伤害X为你已损失的体力值然后这些角色各摸一张牌。', xueji_old_info:'出牌阶段限一次你可以弃置一张红色牌并对攻击范围内的至多X名角色各造成1点伤害X为你已损失的体力值然后这些角色各摸一张牌。',
oldhuxiao:'虎啸', oldhuxiao:'虎啸',