This commit is contained in:
Spmario233 2024-04-06 22:54:39 +08:00
parent 12def22fad
commit 75940a7771
3 changed files with 44 additions and 28 deletions

View File

@ -3829,7 +3829,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ai:{
order:1,
threaten:1.14,
unequip:true,
unequip_ai:true,
skillTagFilter:function(player,tag,arg){
if(arg&&arg.name=='sha'&&arg.card&&arg.card.storage&&arg.card.storage.mbguli) return true;
@ -3856,8 +3855,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.loseHp();
'step 1'
player.drawTo(player.maxHp);
}
}
},
group:'mbguli_unequip',
},
unequip:{
trigger:{
player:'useCardToPlayered',
},
filter:function({card}){
return card.name=='sha' && card.storage && card.storage.mbguli;
},
forced:true,
popup:false,
logTarget:'target',
content:function(){
trigger.target.addTempSkill('qinggang2');
trigger.target.storage.qinggang2.add(trigger.card);
trigger.target.markSkill('qinggang2');
},
},
},
},
mbaosi:{

View File

@ -11537,12 +11537,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else event.finish();
'step 5'
player.chooseTarget('是否令一名手牌数小于自己的目标角色摸一张牌?',function(card,player,target){
return _status.event.getParent().targets.includes(target)&&target.countCards('h')<player.countCards('h');
}).set('ai',function(target){
var player=_status.event.player;
return get.attitude(player,target);
});
var ph = player.countCards('h');
if(ph>0&&targets.some(target=>target.isIn()&&target.countCards('h')<ph)){
player.chooseTarget('请选择一名手牌数小于自己的目标角色,令其摸一张牌',function(card,player,target){
return _status.event.getParent().targets.includes(target)&&target.countCards('h')<player.countCards('h');
}).set('ai',function(target){
var player=_status.event.player;
return get.attitude(player,target);
});
}
'step 6'
if(result.bool){
var target=result.targets[0];
@ -27397,7 +27400,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
spolzhouxuan_info:'①弃牌阶段开始时你可将任意张置于武将牌上称为“旋”你至多拥有五张“旋”。②当你使用牌时你随机将一张“旋”置入弃牌堆然后摸一张牌若你的手牌数不为全场唯一最多则额外摸X张牌X为“旋”数。③出牌阶段结束时你将所有“旋”置入弃牌堆。',
wuyan:'吾彦',
lanjiang:'澜疆',
lanjiang_info:'结束阶段你可以选择所有手牌数不小于你的角色。这些角色依次选择是否令你摸一张牌。然后你可以对其中一名手牌数等于你的角色造成1点伤害随后可以令其中一名手牌数小于你的角色摸一张牌。',
lanjiang_info:'结束阶段你可以选择所有手牌数不小于你的角色。这些角色依次选择是否令你摸一张牌。然后你可以对其中一名手牌数等于你的角色造成1点伤害随后令其中一名手牌数小于你的角色摸一张牌。',
ol_zhuling:'OL朱灵',
ol_zhuling_prefix:'OL',
jixian:'急陷',

View File

@ -2328,40 +2328,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xianzhu:{
trigger:{player:'phaseUseBegin'},
direct:true,
locked:true,
filter:function(event,player){
return player.getExpansions('qiaoyan').length>0;
},
content:function(){
'step 0'
event.cards=player.getExpansions('qiaoyan');
player.chooseTarget(true,'请选择【献珠】的目标','将'+get.translation(event.cards)+'交给一名角色。若该角色不为你自己,则你令其视为对其攻击范围内的另一名角色使用【杀】').set('ai',function(target){
async cost(event, trigger, player){
event.cards = player.getExpansions('qiaoyan');
event.result = await player.chooseTarget(true,'请选择【献珠】的目标','将'+get.translation(event.cards)+'交给一名角色。若该角色不为你自己,则你令其视为对其攻击范围内的另一名角色使用【杀】').set('ai',function(target){
var player=_status.event.player;
var eff=get.sgn(get.attitude(player,target))*get.value(_status.event.getParent().cards[0],target);
if(player!=target) eff+=Math.max.apply(null,game.filterPlayer(function(current){
if(current!=target&&target.inRange(current)&&target.canUse('sha',current)) return true;
if(current!=target&&player.inRange(current)&&target.canUse('sha',current,false)) return true;
}).map(function(current){
return get.effect(current,{name:'sha'},target,player);
}));
return eff;
});
}).forResult();
},
content:function(){
'step 0'
event.cards = player.getExpansions('qiaoyan');
event.target = targets[0];
'step 1'
if(result.bool){
var target=result.targets[0];
event.target=target;
player.logSkill('xianzhu',target);
player.give(cards,target,'give');
}
else event.finish();
player.give(cards,target,'give');
'step 2'
if(player!=target&&target.isIn()&&player.isIn()&&game.hasPlayer(function(current){
return current!=target&&target.inRange(current)&&target.canUse('sha',current);
return current!=target&&player.inRange(current)&&target.canUse('sha',current,false);
})){
var str=get.translation(target);
player.chooseTarget(true,'选择'+str+'攻击范围内的一名角色,视为'+str+'对其使用【杀】',function(card,player,target){
player.chooseTarget(true,'选择攻击范围内的一名角色,视为'+str+'对其使用【杀】',function(card,player,target){
var source=_status.event.target;
return source.inRange(target)&&source.canUse('sha',target);
return player.inRange(target)&&source.canUse('sha', target, false);
}).set('target',target).set('ai',function(target){
var evt=_status.event;
return get.effect(target,{name:'sha'},evt.target,evt.player)
@ -3992,7 +3989,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
qiaoyan:'巧言',
qiaoyan_info:'锁定技,当你于回合外受到其他角色造成的伤害时,若你:有“珠”,则你令伤害来源获得“珠”;没有“珠”,则你防止此伤害,然后摸一张牌,并将一张牌正面朝上置于武将牌上,称为“珠”。',
xianzhu:'献珠',
xianzhu_info:'锁定技出牌阶段开始时你令一名角色A获得“珠”。若A不为你自己则你选择A攻击范围内的一名角色B视为A对B使用一张【杀】。',
xianzhu_info:'锁定技出牌阶段开始时你令一名角色A获得“珠”。若A不为你自己则你选择攻击范围内的一名角色B视为A对B使用一张【杀】。',
chengjichengcui:'成济成倅',
oltousui:'透髓',
oltousui_info:'你可以将任意张牌置于牌堆底,视为使用一张需使用等量张【闪】抵消的【杀】。',