commit
0e77a2c76b
|
@ -455,7 +455,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
direct:true,
|
||||
content:function*(event,map){
|
||||
var player=map.player;
|
||||
var result=yield player.chooseTarget(get.prompt('sbwusheng'),'选择一名非主公的其他角色,本阶段对其使用【杀】无距离和次数限制,使用【杀】指定其为目标后摸一张牌,对其使用三张【杀】后不能对其使用【杀】',(card,player,target)=>{
|
||||
var result=yield player.chooseTarget(get.prompt('sbwusheng'),'选择一名非主公的其他角色,本阶段对其使用【杀】无距离和次数限制,使用【杀】指定其为目标后摸一张牌,对其使用'+(get.mode()==='identity'?'五':'三')+'张【杀】后不能对其使用【杀】',(card,player,target)=>{
|
||||
return target!=player&&!target.isZhu2();
|
||||
}).set('ai',target=>{
|
||||
var player=_status.event.player;
|
||||
|
@ -558,7 +558,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
playerEnabled:function(card,player,target){
|
||||
if(card.name!='sha'||typeof player.storage.sbwusheng_effect[target.playerid]!='number') return;
|
||||
if(player.storage.sbwusheng_effect[target.playerid]>=3) return false;
|
||||
if(player.storage.sbwusheng_effect[target.playerid]>=(get.mode()==='identity'?5:3)) return false;
|
||||
},
|
||||
},
|
||||
audio:'sbwusheng',
|
||||
|
@ -6358,6 +6358,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sbwusheng:'武圣',
|
||||
sbwusheng_wusheng_backup:'武圣',
|
||||
sbwusheng_info:'你可以将一张手牌当作任意【杀】使用或打出。出牌阶段开始时,你可以选择一名非主公的其他角色,本阶段对其使用【杀】无距离和次数限制,使用【杀】指定其为目标后摸一张牌,对其使用三张【杀】后不能对其使用【杀】。',
|
||||
sbwusheng_info_identity:'你可以将一张手牌当作任意【杀】使用或打出。出牌阶段开始时,你可以选择一名非主公的其他角色,本阶段对其使用【杀】无距离和次数限制,使用【杀】指定其为目标后摸一张牌,对其使用五张【杀】后不能对其使用【杀】。',
|
||||
sbyijue:'义绝',
|
||||
sbyijue_info:'锁定技,每名角色每局游戏限一次,当你对一名角色造成大于等于其体力值的伤害时,你防止此伤害,且本回合你使用牌指定其为目标后,取消之。',
|
||||
sb_caopi:'谋曹丕',
|
||||
|
|
|
@ -655,12 +655,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var str;
|
||||
if(storage) str='令'+get.translation(target)+'打出至多'+get.cnNumber(num)+'张【杀】,然后其失去Y点体力。(Y为'+num+'-其打出【杀】数)';
|
||||
else str='令'+get.translation(target)+'使用至多'+get.cnNumber(num)+'张【杀】,其每以此法造成1点伤害,其回复1点体力';
|
||||
result=yield player.chooseBool(get.prompt('dcsbmengmou',target),str).set('choice',(storage?check_true(player,target):check_false(player,target))>0);
|
||||
result=yield player.chooseBool(get.prompt('dcsbmengmou',target),str).set('choice',(storage?check_false(player,target):check_true(player,target))>0);
|
||||
}
|
||||
else{
|
||||
result=yield player.chooseTarget(get.prompt('dcsbmengmou'),lib.skill.dcsbmengmou.intro.content(storage),(card,player,target)=>_status.event.targets.includes(target)).set('ai',target=>{
|
||||
return _status.event.check(_status.event.player,target);
|
||||
}).set('targets',targets).set('check',storage?check_true:check_false).set('ainmate',false);
|
||||
}).set('targets',targets).set('check',storage?check_false:check_true).set('ainmate',false);
|
||||
}
|
||||
if(result.bool){
|
||||
if(!target) target=result.targets[0];
|
||||
|
@ -1790,7 +1790,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
cards.addArray(Array.from(ui.discardPile.childNodes));
|
||||
game.countPlayer(current=>cards.addArray(current.getCards('hejxs')));
|
||||
for(var name of lib.inpile){
|
||||
if(!get.tag({name:name},'damage')) continue;
|
||||
if(!get.tag({name:name},'damage')||get.type(new lib.element.VCard({name:name}))==='delay') continue;
|
||||
let same=cards.filter(card=>get.name(card,false)==name&&!get.natureList(card,false).length);
|
||||
if(same.length){
|
||||
for(var suit of suits){
|
||||
|
@ -1883,29 +1883,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(!event.target) event.target=trigger.player;
|
||||
player.judge();
|
||||
player.addTempSkill('dcxiaoren_dying');
|
||||
event.target=trigger.player;
|
||||
'step 1'
|
||||
player.judge();
|
||||
'step 2'
|
||||
if(result.color=='red') player.chooseTarget('绡刃:是否令一名角色回复1点体力(若回满则额外摸一张牌)?').set('ai',target=>{
|
||||
let rec=get.recoverEffect(target,_status.event.player,_status.event.player);
|
||||
if(target.getDamagedHp()<=1) return rec+get.effect(target,{name:'draw'},target,_status.event.player);
|
||||
return rec;
|
||||
});
|
||||
else if(result.color!='black'||!trigger.player.isIn()||game.countPlayer()<2) event.goto(8);
|
||||
else event.goto(4);
|
||||
'step 2'
|
||||
else if(result.color!='black'||!trigger.player.isIn()||game.countPlayer()<2) event.goto(9);
|
||||
else event.goto(5);
|
||||
'step 3'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
event.target=target;
|
||||
player.line(target);
|
||||
target.recover();
|
||||
}
|
||||
else event.goto(8);
|
||||
'step 3'
|
||||
if(event.target.isHealthy()) event.target.draw();
|
||||
player.removeSkill('dcxiaoren_dying');
|
||||
event.goto(8);
|
||||
else event.goto(9);
|
||||
'step 4'
|
||||
if(event.target.isHealthy()) event.target.draw();
|
||||
event.goto(9);
|
||||
'step 5'
|
||||
var targets=[].addArray([target.getPrevious(),target.getNext()]);
|
||||
if(targets.length>1) player.chooseTarget('绡刃:对其中一名角色造成1点伤害',(card,player,target)=>{
|
||||
return _status.event.targets.includes(target);
|
||||
|
@ -1914,25 +1915,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.damageEffect(target,player,player);
|
||||
}).set('targets',targets);
|
||||
else if(targets.length) event._result={bool:true,targets:targets};
|
||||
'step 5'
|
||||
'step 6'
|
||||
if(result.bool){
|
||||
let target=result.targets[0];
|
||||
event.target=target;
|
||||
player.line(target);
|
||||
target.damage('nocard');
|
||||
}
|
||||
else event.goto(8);
|
||||
'step 6'
|
||||
else event.goto(9);
|
||||
'step 7'
|
||||
if(player.storage.dcxiaoren_dying||get.is.blocked(event.name,player)) event._result={bool:false};
|
||||
else if(event.frequent) event._result={bool:true};
|
||||
else player.chooseBool('绡刃:是否再次进行判定并执行对应效果直到未能执行此项或有角色进入濒死状态?').set('ai',function(){
|
||||
return _status.event.bool;
|
||||
}).set('frequentSkill','dcxiaoren').set('bool',lib.skill.dcxiaoren.check({player:event.target},player));
|
||||
'step 7'
|
||||
if(result.bool){
|
||||
player.addTempSkill('dcxiaoren_dying');
|
||||
event.goto(0);
|
||||
}
|
||||
}).set('bool',lib.skill.dcxiaoren.check({player:event.target},player));
|
||||
'step 8'
|
||||
if(result.bool){
|
||||
event.frequent=true;
|
||||
event.goto(1);
|
||||
}
|
||||
'step 9'
|
||||
player.removeSkill('dcxiaoren_dying');
|
||||
},
|
||||
subSkill:{
|
||||
|
|
Loading…
Reference in New Issue