蔡瑁张允、杨婉、董贵人、马日磾加强
This commit is contained in:
parent
e7e939ecc1
commit
9c060d92f2
126
character/sp2.js
126
character/sp2.js
|
@ -7445,6 +7445,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
return player.getStorage('dclianzhi').contains(event.player);
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=Math.max(1,player.countMark('dclingfang'));
|
||||
|
@ -7454,6 +7455,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('dclianzhi_reproach',target);
|
||||
player.addSkillLog('dcshouze');
|
||||
target.addSkillLog('dcshouze');
|
||||
target.addMark('dclingfang',Math.max(1,player.countMark('dclingfang')));
|
||||
|
@ -7465,10 +7467,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dclingfang:{
|
||||
audio:2,
|
||||
trigger:{
|
||||
player:'phaseZhunbeiBegin',
|
||||
global:'useCardAfter',
|
||||
},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
if(event.name!='useCard') return true;
|
||||
if(get.color(event.card)!='black') return false;
|
||||
if(event.player==player) return !event.targets||!event.targets.contains(player);
|
||||
return event.targets&&event.targets.contains(player);
|
||||
|
@ -7495,6 +7499,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
hiddenCard:function(player,name){
|
||||
var list=player.getStorage('dcfengying');
|
||||
if(player.getStorage('dcfengying_used').contains(name)) return false;
|
||||
return list.contains(name)&&player.hasCard((card)=>(get.number(card)<=player.countMark('dclingfang')),'hs');
|
||||
},
|
||||
chooseButton:{
|
||||
|
@ -7507,7 +7512,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return ui.create.dialog('风影',[list,'vcard']);
|
||||
},
|
||||
filter:function(button,player){
|
||||
return _status.event.getParent().filterCard({name:button.link[2],storage:{dcfengying:true}},player,_status.event.getParent());
|
||||
var card={name:button.link[2],storage:{dcfengying:true}};
|
||||
if(player.getStorage('dcfengying_used').contains(card.name)) return false;
|
||||
return _status.event.getParent().filterCard(card,player,_status.event.getParent());
|
||||
},
|
||||
check:function(button){
|
||||
var player=_status.event.player;
|
||||
|
@ -7536,6 +7543,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
precontent:function(){
|
||||
player.logSkill('dcfengying');
|
||||
player.addTempSkill('dcfengying_used');
|
||||
player.markAuto('dcfengying_used',[event.result.card.name]);
|
||||
event.getParent().addCount=false;
|
||||
delete event.result.skill;
|
||||
}
|
||||
|
@ -7584,7 +7592,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
}
|
||||
},
|
||||
used:{charlotte:true}
|
||||
used:{
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
intro:{
|
||||
content:'已使用过$',
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
dcshouze:{
|
||||
|
@ -13966,14 +13980,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
forced:true,
|
||||
content:function(){
|
||||
var delta=player.countCards('h')-player.hp;
|
||||
if(delta>0) player.chooseToDiscard('h',3,true);
|
||||
if(delta>0) player.chooseToDiscard('h',4,true);
|
||||
else if(delta==0){
|
||||
player.chooseToDiscard('h',true);
|
||||
player.recover();
|
||||
}
|
||||
else{
|
||||
player.damage('fire','nosource');
|
||||
player.draw(4);
|
||||
player.draw(5);
|
||||
}
|
||||
},
|
||||
ai:{halfneg:true},
|
||||
|
@ -16117,7 +16131,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return event.target!=player&&(event.card.name=='sha'||get.type(event.card,false)=='trick')&&event.target.countCards('he')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
trigger.target.chooseToDiscard('he',true);
|
||||
'step 1'
|
||||
if(result.bool&&result.cards.length&&get.color(result.cards[0],trigger.target)==get.color(trigger.card)){
|
||||
game.log(trigger.target,'不能响应',trigger.card);
|
||||
trigger.directHit.push(trigger.target);
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -16136,6 +16156,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
player.gainMaxHp();
|
||||
player.recover();
|
||||
},
|
||||
},
|
||||
//冯妤
|
||||
|
@ -20747,17 +20768,67 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
//杨婉
|
||||
youyan:{
|
||||
audio:2,
|
||||
// trigger:{
|
||||
// player:'loseAfter',
|
||||
// global:'loseAsyncAfter',
|
||||
// },
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
global:'loseAsyncAfter',
|
||||
player:['loseAfter','equipAfter'],
|
||||
global:['loseAsyncAfter','cardsDiscardAfter'],
|
||||
},
|
||||
//usable:1,
|
||||
prompt2:function(event,player){
|
||||
var cards2=[];
|
||||
if(event.name=='cardsDiscard'){
|
||||
var evtx=event.getParent();
|
||||
if(evtx.name!='orderingDiscard') return false;
|
||||
var evtx2=(evtx.relatedEvent||evtx.getParent());
|
||||
if(evtx2.name=='useCard'||evtx2.name=='respond') return false;
|
||||
player.getHistory('lose',evtx3=>{
|
||||
var evtx4=evtx3.relatedEvent||evtx3.getParent();
|
||||
if(evtx2!=evtx4) return false;
|
||||
if(!evtx3.cards2||!evtx3.cards2.length) return false;
|
||||
cards2.addArray(evtx3.cards2.filterInD('d'));
|
||||
});
|
||||
}
|
||||
else if(event.name=='loseAsync'){
|
||||
player.hasHistory('lose',evt=>{
|
||||
if(evt.getParent()!=event||evt.position!=ui.discardPile) return false;
|
||||
cards2.addArray(evt.cards2.filterInD('d'));
|
||||
});
|
||||
}
|
||||
else{
|
||||
cards2.addArray(event.getd(player).filterInD('d'));
|
||||
}
|
||||
return '获得与'+get.translation(cards2)+'花色'+(cards2.length>1?'各':'')+'不相同的牌各一张';
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(event.type!='discard'||event.getlx===false||player!=_status.currentPhase) return false;
|
||||
var evt=event.getl(player);
|
||||
if(!evt||!evt.cards2||!evt.cards2.length) return false;
|
||||
if(player!=_status.currentPhase) return false;
|
||||
var cards2=[];
|
||||
if(event.name=='cardsDiscard'){
|
||||
var evtx=event.getParent();
|
||||
if(evtx.name!='orderingDiscard') return false;
|
||||
var evtx2=(evtx.relatedEvent||evtx.getParent());
|
||||
if(evtx2.name=='useCard'||evtx2.name=='respond') return false;
|
||||
player.getHistory('lose',evtx3=>{
|
||||
var evtx4=evtx3.relatedEvent||evtx3.getParent();
|
||||
if(evtx2!=evtx4) return false;
|
||||
if(!evtx3.cards2||!evtx3.cards2.length) return false;
|
||||
cards2.addArray(evtx3.cards2.filterInD('d'));
|
||||
});
|
||||
}
|
||||
else if(event.name=='loseAsync'){
|
||||
player.hasHistory('lose',evt=>{
|
||||
if(evt.getParent()!=event||evt.position!=ui.discardPile) return false;
|
||||
cards2.addArray(evt.cards2.filterInD('d'));
|
||||
});
|
||||
}
|
||||
else{
|
||||
cards2.addArray(event.getd(player).filterInD('d'));
|
||||
}
|
||||
if(!cards2.length) return false;
|
||||
var list=[];
|
||||
for(var i of evt.cards2){
|
||||
for(var i of cards2){
|
||||
list.add(get.suit(i,player));
|
||||
if(list.length>=lib.suit.length) return false;
|
||||
}
|
||||
|
@ -20775,7 +20846,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(evt) evt.youyaned=true;
|
||||
}
|
||||
var list=[],cards=[];
|
||||
var cards2=trigger.getl(player).cards2;
|
||||
var cards2=[];
|
||||
if(trigger.name=='cardsDiscard'){
|
||||
var evtx=trigger.getParent();
|
||||
if(evtx.name!='orderingDiscard') return false;
|
||||
var evtx2=(evtx.relatedEvent||evtx.getParent());
|
||||
if(evtx2.name=='useCard'||evtx2.name=='respond') return false;
|
||||
player.getHistory('lose',evtx3=>{
|
||||
var evtx4=evtx3.relatedEvent||evtx3.getParent();
|
||||
if(evtx2!=evtx4) return false;
|
||||
if(!evtx3.cards2||!evtx3.cards2.length) return false;
|
||||
cards2.addArray(evtx3.cards2.filterInD('d'));
|
||||
});
|
||||
}
|
||||
else if(trigger.name=='loseAsync'){
|
||||
player.hasHistory('lose',evt=>{
|
||||
if(evt.getParent()!=trigger||evt.position!=ui.discardPile) return false;
|
||||
cards2.addArray(evt.cards2.filterInD('d'));
|
||||
});
|
||||
}
|
||||
else{
|
||||
cards2.addArray(trigger.getd(player).filterInD('d'));
|
||||
}
|
||||
for(var i of cards2){
|
||||
list.add(get.suit(i,player));
|
||||
}
|
||||
|
@ -30046,7 +30138,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
kangge_info:'当你受到除自己和“抗歌”角色以外的角色造成的伤害时,你可以防止此伤害并选择一种花色,然后你失去X点体力,令“抗歌”角色从弃牌堆中随机获得X张此花色的牌(X为伤害值)。',
|
||||
yangwan:'杨婉',
|
||||
youyan:'诱言',
|
||||
youyan_info:'出牌阶段/弃牌阶段各限一次,当你的牌因弃置进入弃牌堆后,你可以从牌堆中获得本次弃牌中没有的花色的牌各一张。',
|
||||
youyan_info:'出牌阶段/弃牌阶段各限一次。当有牌进入弃牌堆后,若其中有你不因使用或打出而失去的牌,你可以从牌堆中获得你本次失去的牌中没有的花色的牌各一张。',
|
||||
zhuihuan:'追还',
|
||||
zhuihuan2:'追还',
|
||||
zhuihuan2_new:'追还',
|
||||
|
@ -30277,9 +30369,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
baoshu_info:'①准备阶段,你可选择Y名角色,这些角色重置武将牌并获得(X-Y+1)个“梳”(X为你的体力上限,Y∈[1, X])。②一名角色的摸牌阶段开始时,若其有“梳”,则其本阶段的额定摸牌数+Z且移去Z个“梳”(Z为其“梳”的数量)。',
|
||||
mamidi:'马日磾',
|
||||
bingjie:'秉节',
|
||||
bingjie_info:'出牌阶段开始时,你可减1点体力上限,然后当你于本阶段内使用【杀】或普通锦囊牌指定其他角色为目标后,其弃置一张牌。',
|
||||
bingjie_info:'出牌阶段开始时,你可减1点体力上限,然后当你于本阶段内使用【杀】或普通锦囊牌指定其他角色为目标后,其弃置一张牌。若其弃置的牌与你使用的牌颜色相同,其无法响应此牌。',
|
||||
zhengding:'正订',
|
||||
zhengding_info:'锁定技。当你于回合外使用或打出牌响应其他角色使用的牌时,若这两张牌颜色相同,则你加1点体力上限。',
|
||||
zhengding_info:'锁定技。当你于回合外使用或打出牌响应其他角色使用的牌时,若这两张牌颜色相同,则你加1点体力上限并回复1点体力。',
|
||||
licaiwei:'李采薇',
|
||||
yijiao:'异教',
|
||||
yijiao_info:'出牌阶段限一次,你可以选择一名没有“异”标记的其他角色并声明一个整数X(X∈[1,4]),该角色获得10X个“异”标记。有“异”标记的角色的结束阶段,其移去“异”标记,且若其本回合使用牌的点数之和:1.小于“异”标记数,其随机弃置至多三张手牌;2.等于“异”标记数,你摸两张牌且该角色本回合结束后进行一个额外的回合;3.大于“异”标记数,你摸三张牌。',
|
||||
|
@ -30353,7 +30445,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
lianzhou:'连舟',
|
||||
lianzhou_info:'锁定技。准备阶段,你横置你的武将牌。然后你可横置任意名体力值等于你的角色。',
|
||||
jinglan:'惊澜',
|
||||
jinglan_info:'锁定技。当你造成伤害后,若你的手牌数:大于体力值,你弃置三张手牌;等于体力值,你弃置一张手牌并回复1点体力;小于体力值,你受到1点无来源火焰伤害并摸四张牌。',
|
||||
jinglan_info:'锁定技。当你造成伤害后,若你的手牌数:大于体力值,你弃置四张手牌;等于体力值,你弃置一张手牌并回复1点体力;小于体力值,你受到1点无来源火焰伤害并摸五张牌。',
|
||||
dc_huangzu:'黄祖',
|
||||
dcjinggong:'精弓',
|
||||
dcjinggong_info:'你可以将一张装备牌当做无距离限制的【杀】使用。当你声明使用此【杀】后,你将此杀的伤害值基数改为X(X为你至此【杀】第一个目标角色的距离且至多为5)。',
|
||||
|
@ -30609,9 +30701,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dclianzhi:'连枝',
|
||||
dclianzhi_info:'①游戏开始时,你选择一名其他角色(仅你可见)。②每回合限一次。当你进入濒死状态时,若〖连枝①〗角色存活,你回复1点体力并与其各摸一张牌。③当〖连枝①〗角色死亡后,你可以与一名其他角色各获得〖受责〗,且其获得与你拥有的等量枚“绞”标记(至少获得1枚)。',
|
||||
dclingfang:'凌芳',
|
||||
dclingfang_info:'锁定技。当其他角色使用黑色牌结算结束后,若你是此牌的目标,或你使用黑色牌结算结束后,若你不是此牌目标,你获得1枚“绞”。',
|
||||
dclingfang_info:'锁定技。准备阶段,或当其他角色使用黑色牌结算结束后,若你是此牌的目标,或你使用黑色牌结算结束后,若你不是此牌目标,你获得1枚“绞”。',
|
||||
dcfengying:'风影',
|
||||
dcfengying_info:'①一名角色的回合开始时,你记录弃牌堆中所有黑色基本牌或黑色普通锦囊牌的牌名。②每回合限一次。你可以将一张点数不大于“绞”数的手牌当做任意一张〖风影①〗记录中的牌使用。',
|
||||
dcfengying_info:'①一名角色的回合开始时,你记录弃牌堆中所有黑色基本牌或黑色普通锦囊牌的牌名。②每回合每种牌名各限一次。你可以将一张点数不大于“绞”数的手牌当做任意一张〖风影①〗记录中的牌使用。',
|
||||
dcshouze:'受责',
|
||||
dcshouze_info:'锁定技。结束阶段,若你有“绞”,你弃1枚“绞”,随机获得弃牌堆中的一张黑色牌,失去1点体力。',
|
||||
sunlang:'孙狼',
|
||||
|
|
Loading…
Reference in New Issue