刘理微调

This commit is contained in:
copcap 2024-02-07 01:02:26 +08:00
parent f63e9ad376
commit fe49afeee6
No known key found for this signature in database
GPG Key ID: 30E7AB6699451AEE
1 changed files with 30 additions and 23 deletions

View File

@ -127,32 +127,32 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
async content(event,trigger,player){
await player.showHandcards(get.translation(player)+'发动了【抚黎】');
const getNum=(type)=>{
let num=['basic','trick','equip'].indexOf(type);
if(num===-1) num=3;
return num;
};
const types=player.getDiscardableCards(player,'h').filter(card=>{
return !player.getStorage('dcfuli').includes(get.type2(card));
}).reduce((list,card)=>list.add(get.type2(card)),[]).sort((a,b)=>{
const getNum=(type)=>{
let num=['basic','trick','equip'].indexOf(type);
if(num==-1) num=3;
return num;
};
return getNum(a)-getNum(b);
});
if(types.length){
const {result:{control}}=await player.chooseControl(types).set('ai',()=>{
const player=get.event('player'),types=get.event('controls').slice();
return types.sort((a,b)=>{
const getNum=(type)=>{
const cards=player.getDiscardableCards(player,'h').filter(card=>get.type2(card)==type);
const countCards=(target,player,cards)=>{
return target.countCards('h')-(target==player?cards.length:0);
};
const max=game.findPlayer(target=>{
return !game.hasPlayer(target2=>{
return countCards(target2,player,cards)>countCards(target,player,cards);
});
}).countCards('h');
return Math.min(max,cards.reduce((sum,card)=>sum+get.cardNameLength(card),0))/cards.length;
const getNum=(type)=>{
const cards=player.getDiscardableCards(player,'h').filter(card=>get.type2(card)==type);
const countCards=(target,player,cards)=>{
return target.countCards('h')-(target==player?cards.length:0);
};
const max=game.findPlayer(target=>{
return !game.hasPlayer(target2=>{
return countCards(target2,player,cards)>countCards(target,player,cards);
});
}).countCards('h');
return Math.min(max,cards.reduce((sum,card)=>sum+get.cardNameLength(card),0))/cards.length;
};
return types.sort((a,b)=>{
return getNum(b)-getNum(a);
})[0];
}).set('prompt','弃置一种类别的所有手牌,然后摸这些牌的名字字数之和的牌');
@ -177,7 +177,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.line(target);
target.addSkill('dcfuli_range');
target.addMark('dcfuli_range',1,false);
player.when('phaseBegin').then(()=>{
player.when(['phaseBegin','dieBegin']).then(()=>{
target.removeMark('dcfuli_range',1,false);
if(!target.hasMark('dcfuli_range')) target.removeSkill('dcfuli_range');
}).vars({target:target});
@ -226,12 +226,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
forced:true,
async content(event,trigger,player){
const list=lib.inpile.filter(name=>{
if(name=='shandian') return false;
if(get.type(name)==='delay') return false;
const card=new lib.element.VCard({name:name});
return get.tag(card,'damage')&&player.hasUseTarget(card);
});
if(list.length){
const {result:{bool,links}}=await player.chooseButton(['###德化###<div class="text center">视为使用一张仍可以使用的伤害类卡牌</div>',[list,'vcard']],true).set('ai',button=>get.event('player').getUseValue({name:button.link[2]},null,true));
const {result:{bool,links}}=await player.chooseButton(['###德化###<div class="text center">视为使用一张仍可以使用的伤害类卡牌</div>',[list,'vcard']],true).set('ai',button=>{
const name=button.link[2],player=get.player();
let value=player.getUseValue({name,isCard:true},null,true);
if(player.countCards('h',card=>get.name(card)===name&&player.hasUseTarget(card))) value/=3;
if(name==='sha') value/=2;
if(player.getStorage('dcdehua').includes('sha')) value=Math.max(0.1,value);
return value;
});
if(bool){
const name=links[0][2],card=new lib.element.VCard({name:name});
await player.chooseUseTarget(card,true);
@ -239,7 +246,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
if(!lib.inpile.some(name=>{
if(name=='shandian') return false;
if(get.type(name)==='delay') return false;
const card=new lib.element.VCard({name:name});
return get.tag(card,'damage')&&!player.getStorage('dcdehua').includes(name);
})) player.removeSkillLog('dcdehua');
@ -12105,9 +12112,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dcshoucheng_info:'一名角色于其回合外失去最后的手牌后,你可令其摸两张牌。',
dc_liuli:'刘理',
dcfuli:'抚黎',
dcfuli_info:'出牌阶段你可以展示手牌并弃置一种类别的所有手牌每种类别每回合限一次然后摸X张牌X为这些牌的牌名字数和且X至多为场上手牌数最多的角色的手牌数。若你因此弃置了伤害类卡牌则你可以选择一名角色令其攻击范围-1直到你的下个回合开始。',
dcfuli_info:'出牌阶段你可以展示手牌并弃置一种类别的所有手牌每种类别每回合限一次然后摸X张牌X为这些牌的牌名字数和且X至多为场上手牌数最多的角色的手牌数。若你因此弃置了伤害类卡牌则你可以选择一名角色令其攻击范围-1直到你的下个回合开始。',
dcdehua:'德化',
dcdehua_info:'锁定技,一轮游戏开始时,若你有可以使用的伤害类牌牌名,你选择其中一个牌名并视为使用之,然后你不能从手牌中使用此牌名的牌,然后若你已选择过所有的伤害类牌牌名,你失去〖德化〗。',
dcdehua_info:'锁定技。①一轮游戏开始时,若有你可以使用的非延时类伤害类牌的牌名,你选择其中一个并视为使用之,然后你不能从手牌中使用此牌名的牌,然后若你已选择过所有的伤害类牌牌名,你失去〖德化〗。②你的手牌上限+YY为你〖德化①〗选择过的牌名数。',
sp_baigei:'无双上将',
sp_caizijiaren:'才子佳人',