sp&yxs
|
@ -39,7 +39,7 @@ character.hearth={
|
||||||
hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu']],
|
hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu']],
|
||||||
// hs_tgolem:['male','qun',4,['guozai']],
|
// hs_tgolem:['male','qun',4,['guozai']],
|
||||||
hs_totemic:['male','wu',3,['s_tuteng']],
|
hs_totemic:['male','wu',3,['s_tuteng']],
|
||||||
hs_xsylvanas:['female','qun',3,['busi','shixin','xmojian']],
|
hs_xsylvanas:['female','qun',3,['busi','xshixin','xmojian']],
|
||||||
hs_siwangzhiyi:['male','qun',12,['mieshi']],
|
hs_siwangzhiyi:['male','qun',12,['mieshi']],
|
||||||
hs_bilanyoulong:['male','wei',4,['lingzhou']],
|
hs_bilanyoulong:['male','wei',4,['lingzhou']],
|
||||||
},
|
},
|
||||||
|
@ -225,7 +225,7 @@ character.hearth={
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
xmojian2:{},
|
xmojian2:{},
|
||||||
shixin:{
|
xshixin:{
|
||||||
trigger:{source:'damageEnd'},
|
trigger:{source:'damageEnd'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
@ -2223,8 +2223,8 @@ character.hearth={
|
||||||
lingzhou_info:'每当你使用一张锦囊牌,可令一名角色摸一张牌或回复一点体力',
|
lingzhou_info:'每当你使用一张锦囊牌,可令一名角色摸一张牌或回复一点体力',
|
||||||
mieshi:'灭世',
|
mieshi:'灭世',
|
||||||
mieshi_info:'锁定技,回合结束阶段,你流失一点体力,并对一名随机的其他角色造成一点火焰伤害',
|
mieshi_info:'锁定技,回合结束阶段,你流失一点体力,并对一名随机的其他角色造成一点火焰伤害',
|
||||||
shixin:'蚀心',
|
xshixin:'蚀心',
|
||||||
shixin_info:'锁定技,每当你对一名其他角色造成一次伤害,受伤害角色与你各流失一点体力',
|
xshixin_info:'锁定技,每当你对一名其他角色造成一次伤害,受伤害角色与你各流失一点体力',
|
||||||
xmojian:'魔箭',
|
xmojian:'魔箭',
|
||||||
xmojian_info:'每当你翻面时,你可以指定一名角色视为对其使用了一张杀,每回合最多发动一次',
|
xmojian_info:'每当你翻面时,你可以指定一名角色视为对其使用了一张杀,每回合最多发动一次',
|
||||||
enze:'恩泽',
|
enze:'恩泽',
|
||||||
|
|
|
@ -366,7 +366,7 @@ character.refresh={
|
||||||
},
|
},
|
||||||
discard:false,
|
discard:false,
|
||||||
prepare:function(cards,player,targets){
|
prepare:function(cards,player,targets){
|
||||||
player.$give(1,targets[0]);
|
player.$give(cards,targets[0]);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
|
355
character/sp.js
|
@ -35,6 +35,11 @@ character.sp={
|
||||||
wutugu:['male','qun',15,['ranshang','hanyong']],
|
wutugu:['male','qun',15,['ranshang','hanyong']],
|
||||||
sp_caiwenji:['female','wei',3,['chenqing','mozhi']],
|
sp_caiwenji:['female','wei',3,['chenqing','mozhi']],
|
||||||
zhugeguo:['female','shu',3,['yuhua','qirang']],
|
zhugeguo:['female','shu',3,['yuhua','qirang']],
|
||||||
|
liuzan:['male','wu',4,['fenyin']],
|
||||||
|
lingcao:['male','wu',4,['dujin']],
|
||||||
|
sunru:['female','wu',3,['shixin','qingyi']],
|
||||||
|
lingju:['female','qun',3,['jieyuan','fenxin']],
|
||||||
|
lifeng:['male','shu',3,['tunchu','shuliang']],
|
||||||
},
|
},
|
||||||
perfectPair:{
|
perfectPair:{
|
||||||
zhugejin:['zhugeke'],
|
zhugejin:['zhugeke'],
|
||||||
|
@ -46,8 +51,337 @@ character.sp={
|
||||||
zhangbao:['zhangliang','zhangjiao'],
|
zhangbao:['zhangliang','zhangjiao'],
|
||||||
zhangliang:['zhangjiao'],
|
zhangliang:['zhangjiao'],
|
||||||
maliang:['masu'],
|
maliang:['masu'],
|
||||||
|
lingcao:['lingtong'],
|
||||||
|
lingju:['diaochan','lvbu'],
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
tunchu:{
|
||||||
|
trigger:{player:'phaseDrawBegin'},
|
||||||
|
check:function(event,player){
|
||||||
|
return player.num('h')-player.num('h',{type:'equip'})+2<=player.hp;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.num+=2;
|
||||||
|
player.addTempSkill('tunchu_choose','phaseDrawAfter');
|
||||||
|
},
|
||||||
|
init:function(player){
|
||||||
|
player.storage.tunchu=[];
|
||||||
|
},
|
||||||
|
intro:{
|
||||||
|
content:'cards'
|
||||||
|
},
|
||||||
|
group:'tunchu_disable',
|
||||||
|
subSkill:{
|
||||||
|
choose:{
|
||||||
|
trigger:{player:'phaseDrawEnd'},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.removeSkill('tunchu_choose');
|
||||||
|
if(player.num('h')){
|
||||||
|
player.chooseCard('h',true);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
player.lose(result.cards,ui.special);
|
||||||
|
player.storage.tunchu=player.storage.tunchu.concat(result.cards);
|
||||||
|
player.markSkill('tunchu');
|
||||||
|
player.syncStorage('tunchu');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
disable:{
|
||||||
|
mod:{
|
||||||
|
cardEnabled:function(card,player){
|
||||||
|
if(player.storage.tunchu&&player.storage.tunchu.length&&
|
||||||
|
(card.name=='sha'||card.name=='juedou')){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cardUsable:function(card,player){
|
||||||
|
if(player.storage.tunchu&&player.storage.tunchu.length&&
|
||||||
|
(card.name=='sha'||card.name=='juedou')){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
shuliang:{
|
||||||
|
trigger:{global:'phaseEnd'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.tunchu&&player.storage.tunchu.length>0&&event.player.num('h')==0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var goon=(ai.get.attitude(player,trigger.player)>0);
|
||||||
|
player.chooseCardButton('是否对'+get.translation(trigger.player)+'发动【输粮】?',player.storage.tunchu).ai=function(){
|
||||||
|
if(goon) return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('shuliang',trigger.player);
|
||||||
|
player.storage.tunchu.remove(result.links[0]);
|
||||||
|
player.$throw(result.links);
|
||||||
|
ui.discardPile.appendChild(result.links[0]);
|
||||||
|
player.syncStorage('tunchu');
|
||||||
|
if(player.storage.tunchu.length==0){
|
||||||
|
player.unmarkSkill('tunchu');
|
||||||
|
}
|
||||||
|
trigger.player.draw(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
jieyuan:{
|
||||||
|
group:['jieyuan_more','jieyuan_less'],
|
||||||
|
subSkill:{
|
||||||
|
more:{
|
||||||
|
trigger:{source:'damageBegin'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(!player.num('h',{color:'black'})) return false;
|
||||||
|
return event.player.hp>=player.hp&&player!=event.player;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var goon=(ai.get.attitude(player,trigger.player)<0);
|
||||||
|
var next=player.chooseToDiscard('是否对'+get.translation(trigger.player)+'发动【竭缘】?',{color:'black'});
|
||||||
|
next.ai=function(){
|
||||||
|
if(goon){
|
||||||
|
return 8-ai.get.value(card);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
next.logSkill=['jieyuan',trigger.player];
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('jieyuan',trigger.player);
|
||||||
|
trigger.num++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
less:{
|
||||||
|
trigger:{player:'damageBegin'},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(!player.num('h',{color:'red'})) return false;
|
||||||
|
return event.source&&event.source.hp>=player.hp&&player!=event.source;
|
||||||
|
},
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
var next=player.chooseToDiscard('竭缘:是否弃置一张红色手牌令伤害-1?',{color:'red'});
|
||||||
|
next.ai=function(card){
|
||||||
|
if(player.hp==1||trigger.num>1){
|
||||||
|
return 9-ai.get.value(card);
|
||||||
|
}
|
||||||
|
if(player.hp==2){
|
||||||
|
return 8-ai.get.value(card);
|
||||||
|
}
|
||||||
|
return 7-ai.get.value(card);
|
||||||
|
};
|
||||||
|
next.logSkill='jieyuan';
|
||||||
|
"step 1"
|
||||||
|
if(result.bool){
|
||||||
|
game.delay();
|
||||||
|
trigger.num--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
expose:0.2,
|
||||||
|
threaten:1.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fenxin:{
|
||||||
|
mode:['identity'],
|
||||||
|
trigger:{source:'dieBegin'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.player.identity!='zhu'&&player.identity!='zhu'&&
|
||||||
|
player.identity!='mingzhong'&&event.player.identity!='mingzhong';
|
||||||
|
},
|
||||||
|
check:function(event,player){
|
||||||
|
if(player.identity==event.player.identity) return Math.random()<0.5;
|
||||||
|
var stat=ai.get.situation();
|
||||||
|
switch(player.identity){
|
||||||
|
case 'fan':
|
||||||
|
if(stat<0) return false;
|
||||||
|
if(stat==0) return Math.random()<0.6;
|
||||||
|
return true;
|
||||||
|
case 'zhong':
|
||||||
|
if(stat>0) return false;
|
||||||
|
if(stat==0) return Math.random()<0.6;
|
||||||
|
return true;
|
||||||
|
case 'nei':
|
||||||
|
if(event.player.identity=='fan'&&stat<0) return true;
|
||||||
|
if(event.player.identity=='zhong'&&stat>0) return true;
|
||||||
|
if(stat==0) return Math.random()<0.7;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
prompt:function(event,player){
|
||||||
|
return '焚心:是否与'+get.translation(event.player)+'交换身份?';
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
var identity=player.identity;
|
||||||
|
player.identity=trigger.player.identity;
|
||||||
|
if(player.identityShown||player==game.me){
|
||||||
|
player.setIdentity();
|
||||||
|
}
|
||||||
|
trigger.player.identity=identity;
|
||||||
|
player.line(trigger.player,'green');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
qingyi:{
|
||||||
|
group:['qingyi1','qingyi2']
|
||||||
|
},
|
||||||
|
qingyi1:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{player:'phaseBegin'},
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
player.addSkill('qingyi3');
|
||||||
|
var check= player.num('h')>2;
|
||||||
|
player.chooseTarget('是否发动【轻逸】?',function(card,player,target){
|
||||||
|
if(player==target) return false;
|
||||||
|
return player.canUse({name:'sha'},target);
|
||||||
|
}).ai=function(target){
|
||||||
|
if(!check) return 0;
|
||||||
|
return ai.get.effect(target,{name:'sha'},_status.event.player);
|
||||||
|
}
|
||||||
|
"step 1"
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('qingyi1',result.targets);
|
||||||
|
player.useCard({name:'sha'},result.targets[0],false);
|
||||||
|
player.skip('phaseJudge');
|
||||||
|
player.skip('phaseDraw');
|
||||||
|
}
|
||||||
|
player.removeSkill('qingyi3');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
qingyi2:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{player:'phaseUseBefore'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.num('he',{type:'equip'})>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
player.addSkill('qingyi3');
|
||||||
|
var check=player.num('h')<=player.hp;
|
||||||
|
player.chooseCardTarget({
|
||||||
|
prompt:'是否发动【轻逸】?',
|
||||||
|
filterCard:function(card){
|
||||||
|
return get.type(card)=='equip'
|
||||||
|
},
|
||||||
|
position:'he',
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
if(player==target) return false;
|
||||||
|
return player.canUse({name:'sha'},target);
|
||||||
|
},
|
||||||
|
ai1:function(card){
|
||||||
|
if(!check) return 0;
|
||||||
|
return 6-ai.get.value(card);
|
||||||
|
},
|
||||||
|
ai2:function(target){
|
||||||
|
if(!check) return 0;
|
||||||
|
return ai.get.effect(target,{name:'sha'},_status.event.player);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
"step 1"
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('qingyi2',result.targets);
|
||||||
|
player.discard(result.cards[0]);
|
||||||
|
player.useCard({name:'sha'},result.targets[0]);
|
||||||
|
trigger.untrigger();
|
||||||
|
trigger.finish();
|
||||||
|
}
|
||||||
|
player.removeSkill('qingyi3');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
qingyi3:{
|
||||||
|
mod:{
|
||||||
|
targetInRange:function(card,player,target,now){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
shixin:{
|
||||||
|
trigger:{player:'damageBefore'},
|
||||||
|
filter:function(event){
|
||||||
|
return event.nature=='fire';
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
content:function(){
|
||||||
|
trigger.untrigger();
|
||||||
|
trigger.finish();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
nofire:true,
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target,current){
|
||||||
|
if(get.tag(card,'fireDamage')) return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fenyin:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{player:'useCard'},
|
||||||
|
frequent:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(!event.cards||event.cards.length!=1) return false;
|
||||||
|
if(_status.currentPhase!=player) return false;
|
||||||
|
if(!player.storage.fenyin) return false;
|
||||||
|
return get.color(player.storage.fenyin)!=get.color(event.cards[0]);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.draw();
|
||||||
|
},
|
||||||
|
intro:{
|
||||||
|
content:'card'
|
||||||
|
},
|
||||||
|
group:['fenyin2','fenyin3']
|
||||||
|
},
|
||||||
|
fenyin3:{
|
||||||
|
trigger:{player:'useCard'},
|
||||||
|
priority:-1,
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
silent:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(!event.cards||event.cards.length!=1) return false;
|
||||||
|
if(_status.currentPhase!=player) return false;
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.storage.fenyin=trigger.cards[0];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fenyin2:{
|
||||||
|
trigger:{player:'phaseAfter'},
|
||||||
|
forced:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
content:function(){
|
||||||
|
player.storage.fenyin=null;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dujin:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{player:'phaseDrawBegin'},
|
||||||
|
frequent:true,
|
||||||
|
content:function(){
|
||||||
|
trigger.num+=1+Math.floor(player.num('e')/2);
|
||||||
|
}
|
||||||
|
},
|
||||||
qirang:{
|
qirang:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{player:'equipEnd'},
|
trigger:{player:'equipEnd'},
|
||||||
|
@ -3367,7 +3701,26 @@ character.sp={
|
||||||
mateng:'马腾',
|
mateng:'马腾',
|
||||||
sp_caiwenji:'sp蔡文姬',
|
sp_caiwenji:'sp蔡文姬',
|
||||||
zhugeguo:'诸葛果',
|
zhugeguo:'诸葛果',
|
||||||
|
liuzan:'留赞',
|
||||||
|
lingcao:'凌操',
|
||||||
|
sunru:'孙茹',
|
||||||
|
lingju:'灵雎',
|
||||||
|
lifeng:'李丰',
|
||||||
|
|
||||||
|
tunchu:'屯储',
|
||||||
|
tunchu_info:'摸牌阶段摸牌时,你可以额外摸两张牌,若如此做,将一张手牌置于你的武将上,称为“粮”,只要你的武将牌上有“粮”,你便不能使用【杀】和【决斗】',
|
||||||
|
shuliang:'输粮',
|
||||||
|
shuliang_info:'每当一名角色的结束阶段开始时,若其没有手牌,你可以将一张“粮”置入弃牌堆,然后该角色摸两张牌',
|
||||||
|
jieyuan:'竭缘',
|
||||||
|
jieyuan_info:'当你对一名其他角色造成伤害时,若其体力值大于或等于你的体力值,你可弃置一张黑色手牌令此伤害+1;当你受到一名其他角色造成的伤害时,若其体力值大于或等于你的体力值,你可弃置一张红色手牌令此伤害-1。',
|
||||||
|
fenxin:'焚心',
|
||||||
|
fenxin_info:'定技,当你杀死一名非主公角色时,在其翻开身份牌之前,你可以与该角色交换身份牌。(你的身份为主公时不能发动此技能)',
|
||||||
|
shixin:'释衅',
|
||||||
|
shixin_info:'锁定技,当你受到火属性伤害时,你防止此伤害',
|
||||||
|
qingyi:'轻逸',
|
||||||
|
qingyi_info:'你可以跳过摸牌阶段,或跳过出牌阶段并弃置一张装备牌,若如此则视为对任意一名使用一张【杀】',
|
||||||
|
dujin:'独进',
|
||||||
|
dujin_info:'摸牌阶段,你可以额外摸X+1张牌(X为你装备区里牌数的一半且向下取整)',
|
||||||
yuhua:'羽化',
|
yuhua:'羽化',
|
||||||
yuhua_info:'锁定技,弃牌阶段内,你的非基本牌不计入手牌数,且你不能弃置你的非基本牌',
|
yuhua_info:'锁定技,弃牌阶段内,你的非基本牌不计入手牌数,且你不能弃置你的非基本牌',
|
||||||
qirang:'祈禳',
|
qirang:'祈禳',
|
||||||
|
@ -3472,6 +3825,8 @@ character.sp={
|
||||||
jilei2:'鸡肋',
|
jilei2:'鸡肋',
|
||||||
fulu:'符箓',
|
fulu:'符箓',
|
||||||
fuji:'助祭',
|
fuji:'助祭',
|
||||||
|
fenyin:'奋音',
|
||||||
|
fenyin_info:'你的回合内,当你使用牌时,若此牌与你于此回合内使用的上一张牌颜色不同,则你可以摸一张牌',
|
||||||
fuji_info:'当一名角色造成雷电伤害时,你可以令其进行一次判定,若结果为黑色,此伤害+1;若结果为红色,该角色获得此牌。',
|
fuji_info:'当一名角色造成雷电伤害时,你可以令其进行一次判定,若结果为黑色,此伤害+1;若结果为红色,该角色获得此牌。',
|
||||||
fulu_info:'你可以将【杀】当雷【杀】使用。',
|
fulu_info:'你可以将【杀】当雷【杀】使用。',
|
||||||
jilei_info:'每当你受到一次伤害,可以令伤害来源不能使用或打出其手牌直到回合结束',
|
jilei_info:'每当你受到一次伤害,可以令伤害来源不能使用或打出其手牌直到回合结束',
|
||||||
|
|
|
@ -884,6 +884,9 @@ character.standard={
|
||||||
tieji:{
|
tieji:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{player:'shaBegin'},
|
trigger:{player:'shaBegin'},
|
||||||
|
check:function(event,player){
|
||||||
|
return ai.get.attitude(player,event.target)<=0;
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.judge(function(card){
|
player.judge(function(card){
|
||||||
|
|
|
@ -166,17 +166,6 @@ character.swd={
|
||||||
threaten:2
|
threaten:2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
miaobi:{
|
|
||||||
enable:'phaseUse',
|
|
||||||
viewAs:{name:'wugu'},
|
|
||||||
filterCard:{suit:'heart'},
|
|
||||||
filter:function(event,player){
|
|
||||||
return !player.getStat('skill').miaobi&&player.num('h',{suit:'heart'})>0;
|
|
||||||
},
|
|
||||||
check:function(card){
|
|
||||||
return 5-ai.get.value(card);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
huajing:{
|
huajing:{
|
||||||
trigger:{source:'damageEnd'},
|
trigger:{source:'damageEnd'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
@ -7736,9 +7725,6 @@ character.swd={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
zhexian:{
|
|
||||||
inherit:'lingbo'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
translate:{
|
translate:{
|
||||||
swd_yangshuo:'杨硕',
|
swd_yangshuo:'杨硕',
|
||||||
|
@ -7839,9 +7825,6 @@ character.swd={
|
||||||
jingjie_old_info:'限定技,出牌阶段,你可以令所有角色弃置所有牌,然后摸两张牌(不触发任何技能)',
|
jingjie_old_info:'限定技,出牌阶段,你可以令所有角色弃置所有牌,然后摸两张牌(不触发任何技能)',
|
||||||
kongmo:'恐魔',
|
kongmo:'恐魔',
|
||||||
kongmo_info:'锁定技,你使用基本牌或非延时锦囊牌后将额外结算一次卡牌效果',
|
kongmo_info:'锁定技,你使用基本牌或非延时锦囊牌后将额外结算一次卡牌效果',
|
||||||
miaobi:'妙笔',
|
|
||||||
miaobi_info:'出牌阶段限一次,你可以将一张红桃牌当作五谷丰登使用',
|
|
||||||
zhexian:'谪仙',
|
|
||||||
jufu:'巨斧',
|
jufu:'巨斧',
|
||||||
jufu_info:'锁定技,当你有武器牌时,杀造成的伤害+1',
|
jufu_info:'锁定技,当你有武器牌时,杀造成的伤害+1',
|
||||||
huajing:'化精',
|
huajing:'化精',
|
||||||
|
@ -8231,7 +8214,6 @@ character.swd={
|
||||||
xingdian_info:'出牌阶段限一次,你可以弃置一张手牌,然后指定至多两名角色令其各弃置一张牌',
|
xingdian_info:'出牌阶段限一次,你可以弃置一张手牌,然后指定至多两名角色令其各弃置一张牌',
|
||||||
yulin_info:'每当你即将受到伤害,你可以弃置一张装备牌抵消此伤害',
|
yulin_info:'每当你即将受到伤害,你可以弃置一张装备牌抵消此伤害',
|
||||||
funiao_info:'出牌阶段,你可以交给一名角色一张手牌,然后观看其手牌,每个阶段对一名角色只能发动一次',
|
funiao_info:'出牌阶段,你可以交给一名角色一张手牌,然后观看其手牌,每个阶段对一名角色只能发动一次',
|
||||||
zhexian_info:'每当你使用或打出一张闪,你可以摸两张牌',
|
|
||||||
lingbo_info:'每当你使用或打出一张闪,你可以摸两张牌',
|
lingbo_info:'每当你使用或打出一张闪,你可以摸两张牌',
|
||||||
xuehuang_info:'出牌阶段限一次,你可以弃置一张红色手牌令距离你一以内的所有角色受到一点火焰伤害',
|
xuehuang_info:'出牌阶段限一次,你可以弃置一张红色手牌令距离你一以内的所有角色受到一点火焰伤害',
|
||||||
zhuyu_info:'每当有横置的角色即将受到非火焰伤害,你可以弃置一张红色牌使其额外受到一点火焰伤害',
|
zhuyu_info:'每当有横置的角色即将受到非火焰伤害,你可以弃置一张红色牌使其额外受到一点火焰伤害',
|
||||||
|
|
|
@ -94,7 +94,7 @@ character.wind={
|
||||||
"step 0"
|
"step 0"
|
||||||
player.addSkill('shensu3');
|
player.addSkill('shensu3');
|
||||||
var check= player.num('h')>2;
|
var check= player.num('h')>2;
|
||||||
player.chooseTarget('是否发动神速?',function(card,player,target){
|
player.chooseTarget('是否发动【神速】?',function(card,player,target){
|
||||||
if(player==target) return false;
|
if(player==target) return false;
|
||||||
return player.canUse({name:'sha'},target);
|
return player.canUse({name:'sha'},target);
|
||||||
}).ai=function(target){
|
}).ai=function(target){
|
||||||
|
|
|
@ -27,7 +27,7 @@ character.xianjian={
|
||||||
pal_hanlingsha:['female','shu',3,['tannang','tuoqiao']],
|
pal_hanlingsha:['female','shu',3,['tannang','tuoqiao']],
|
||||||
pal_liumengli:['female','wei',3,['tianxian','runxin','zhimeng']],
|
pal_liumengli:['female','wei',3,['tianxian','runxin','zhimeng']],
|
||||||
pal_murongziying:['male','wei',4,['xuanning','poyun','qianfang']],
|
pal_murongziying:['male','wei',4,['xuanning','poyun','qianfang']],
|
||||||
pal_xuanxiao:['male','wei',4,['xuanyan','ningbin','fenxin']],
|
pal_xuanxiao:['male','wei',4,['xuanyan','ningbin','xfenxin']],
|
||||||
|
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
@ -80,14 +80,14 @@ character.xianjian={
|
||||||
effect:{
|
effect:{
|
||||||
target:function(card,player,target){
|
target:function(card,player,target){
|
||||||
if(get.tag(card,'thunderDamage')){
|
if(get.tag(card,'thunderDamage')){
|
||||||
if(target.hp<=1||!target.skills.contains('fenxin')) return [0,0];
|
if(target.hp<=1||!target.skills.contains('xfenxin')) return [0,0];
|
||||||
return [0,1.5];
|
return [0,1.5];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
fenxin:{
|
xfenxin:{
|
||||||
trigger:{player:'changeHp'},
|
trigger:{player:'changeHp'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event){
|
filter:function(event){
|
||||||
|
@ -106,9 +106,9 @@ character.xianjian={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
group:'fenxin2'
|
group:'xfenxin2'
|
||||||
},
|
},
|
||||||
fenxin2:{
|
xfenxin2:{
|
||||||
trigger:{source:'dieAfter'},
|
trigger:{source:'dieAfter'},
|
||||||
forced:true,
|
forced:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -1366,9 +1366,9 @@ character.xianjian={
|
||||||
xuanyan_info:'锁定技,你的火属性伤害+1;你造成火属性伤害后流失1点体力',
|
xuanyan_info:'锁定技,你的火属性伤害+1;你造成火属性伤害后流失1点体力',
|
||||||
ningbin:'凝冰',
|
ningbin:'凝冰',
|
||||||
ningbin_info:'锁定技,每当你受到1次雷属性伤害,你回复1点体力',
|
ningbin_info:'锁定技,每当你受到1次雷属性伤害,你回复1点体力',
|
||||||
fenxin:'焚心',
|
xfenxin:'焚心',
|
||||||
fenxin2:'焚心',
|
xfenxin2:'焚心',
|
||||||
fenxin_info:'锁定技,每当你的体力值发生改变,你摸等量的牌;每当你杀死一名角色,你增加一点体力上限并回复一点体力',
|
xfenxin_info:'锁定技,每当你的体力值发生改变,你摸等量的牌;每当你杀死一名角色,你增加一点体力上限并回复一点体力',
|
||||||
luanjian:'乱剑',
|
luanjian:'乱剑',
|
||||||
luanjian_info:'你可以将两张杀当杀使用,此杀无视距离和防具,且可以指定任意名目标',
|
luanjian_info:'你可以将两张杀当杀使用,此杀无视距离和防具,且可以指定任意名目标',
|
||||||
tianfu:'天符',
|
tianfu:'天符',
|
||||||
|
|
|
@ -1018,6 +1018,8 @@ character.yijiang={
|
||||||
if(result&&result.cards){
|
if(result&&result.cards){
|
||||||
event.card=result.cards[0];
|
event.card=result.cards[0];
|
||||||
event.current.lose(result.cards,ui.special);
|
event.current.lose(result.cards,ui.special);
|
||||||
|
var cardx=ui.create.card();
|
||||||
|
cardx.classList.add('infohidden')
|
||||||
event.current.$throw(ui.create.card(),1000);
|
event.current.$throw(ui.create.card(),1000);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -2776,7 +2778,7 @@ character.yijiang={
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
var next=player.chooseToDiscard('he','是否弃置一张装备牌令伤害-1?',function(card,player){
|
var next=player.chooseToDiscard('he','骄矜:是否弃置一张装备牌令伤害-1?',function(card,player){
|
||||||
return get.type(card)=='equip';
|
return get.type(card)=='equip';
|
||||||
});
|
});
|
||||||
next.ai=function(card){
|
next.ai=function(card){
|
||||||
|
|
588
character/yxs.js
|
@ -8,8 +8,412 @@ character.yxs={
|
||||||
yxs_aijiyanhou:['female','qun',3,['seyou','sheshi']],
|
yxs_aijiyanhou:['female','qun',3,['seyou','sheshi']],
|
||||||
yxs_diaochan:['female','qun',3,['fengyi','wange']],
|
yxs_diaochan:['female','qun',3,['fengyi','wange']],
|
||||||
yxs_yangyuhuan:['female','wu',3,['fengyan','nichang']],
|
yxs_yangyuhuan:['female','wu',3,['fengyan','nichang']],
|
||||||
|
yxs_baosi:['female','qun',3,['jieyin','fenghuo']],
|
||||||
|
yxs_napolun:['male','qun',4,['tongling','fanpu']],
|
||||||
|
yxs_kaisa:['male','qun',4,['ducai']],
|
||||||
|
yxs_zhuyuanzhang:['male','qun',4,['qiangyun']],
|
||||||
|
yxs_jinke:['male','qun',3,['cike','qiangxi']],
|
||||||
|
yxs_libai:['male','qun',3,['miaobi','zhexian']],
|
||||||
|
yxs_luban:['male','qun',3,['guifu','lshengong']],
|
||||||
|
yxs_lvzhi:['female','qun',4,['zhensha','xumou']],
|
||||||
|
yxs_goujian:['male','qun',3,['keji','tuqiang']],
|
||||||
|
yxs_lishimin:['male','qun',4,['kongju']],
|
||||||
|
yxs_huamulan:['female','qun',3,['xiaoji','yizhuang']],
|
||||||
|
yxs_luobinhan:['male','qun',4,['xiadao','lzhangyi']],
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
xiadao:{
|
||||||
|
enable:['chooseToRespond'],
|
||||||
|
filterCard:true,
|
||||||
|
viewAs:{name:'shan'},
|
||||||
|
viewAsFilter:function(player){
|
||||||
|
if(!player.num('h')) return false;
|
||||||
|
if(player.num('e')) return false;
|
||||||
|
},
|
||||||
|
prompt:'将一张手牌当闪打出',
|
||||||
|
check:function(){return 1},
|
||||||
|
ai:{
|
||||||
|
respondShan:true,
|
||||||
|
skillTagFilter:function(player){
|
||||||
|
if(!player.num('h')) return false;
|
||||||
|
if(player.num('e')) return false;
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
target:function(card,player,target,current){
|
||||||
|
if(get.tag(card,'respondShan')&¤t<0&&!target.num('e')) return 0.6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
lzhangyi:{
|
||||||
|
trigger:{player:'discardAfter'},
|
||||||
|
filter:function(event,player){
|
||||||
|
for(var i=0;i<event.cards.length;i++){
|
||||||
|
if(get.position(event.cards[i])=='d'){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
direct:true,
|
||||||
|
popup:false,
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
if(trigger.delay==false) game.delay();
|
||||||
|
"step 1"
|
||||||
|
player.chooseTarget('是否发动【仗义】?',function(card,player,target){
|
||||||
|
return player!=target
|
||||||
|
}).ai=function(target){
|
||||||
|
return ai.get.attitude(player,target);
|
||||||
|
};
|
||||||
|
"step 2"
|
||||||
|
if(result.bool){
|
||||||
|
var target=result.targets[0];
|
||||||
|
player.logSkill('lzhangyi',target);
|
||||||
|
var cards=[];
|
||||||
|
for(var i=0;i<trigger.cards.length;i++){
|
||||||
|
if(get.position(trigger.cards[i])=='d'){
|
||||||
|
cards.push(trigger.cards[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
target.gain(cards);
|
||||||
|
if(event.isMine()){
|
||||||
|
target.$draw(cards);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
target.$gain2(cards);
|
||||||
|
}
|
||||||
|
if(target==game.me){
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
threaten:0.9,
|
||||||
|
expose:0.1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
yizhuang:{
|
||||||
|
trigger:{player:'phaseBegin'},
|
||||||
|
group:'yizhuang2',
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
player.unmark(player.storage.yizhuang+'_charactermark');
|
||||||
|
delete player.storage.yizhuang;
|
||||||
|
delete player.additionalSkills.yizhuang;
|
||||||
|
player.checkMarks();
|
||||||
|
if(player.num('he')){
|
||||||
|
player.chooseCardTarget({
|
||||||
|
prompt:'是否发动【易装】?',
|
||||||
|
filterCard:true,
|
||||||
|
position:'he',
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
if(target==player) return false;
|
||||||
|
if(target.sex!='male') return false;
|
||||||
|
var name=target.name.indexOf('unknown')==0?target.name2:target.name;
|
||||||
|
|
||||||
|
var info=lib.character[name];
|
||||||
|
if(info){
|
||||||
|
var skills=info[3];
|
||||||
|
for(var j=0;j<skills.length;j++){
|
||||||
|
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
|
||||||
|
!lib.skill[skills[j]].unique&&!player.skills.contains(skills[j])){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
ai1:function(card){
|
||||||
|
return 7-ai.get.value(card);
|
||||||
|
},
|
||||||
|
ai2:function(target){
|
||||||
|
if(target.isMin()) return 0;
|
||||||
|
return 6-target.maxHp;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
"step 1"
|
||||||
|
if(result.bool){
|
||||||
|
player.discard(result.cards);
|
||||||
|
player.logSkill('yizhuang',result.targets);
|
||||||
|
var name=result.targets[0].name;
|
||||||
|
if(name.indexOf('unknown')==0){
|
||||||
|
name=result.targets[0].name2;
|
||||||
|
}
|
||||||
|
var list=[];
|
||||||
|
var skills=lib.character[name][3];
|
||||||
|
for(var j=0;j<skills.length;j++){
|
||||||
|
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
|
||||||
|
!lib.skill[skills[j]].unique&&!player.skills.contains(skills[j])){
|
||||||
|
list.push(skills[j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(var i=0;i<list.length;i++){
|
||||||
|
player.addSkill(list[i]);
|
||||||
|
player.skills.remove(list[i]);
|
||||||
|
}
|
||||||
|
player.additionalSkills.yizhuang=list;
|
||||||
|
player.markCharacter(name,null,true,true);
|
||||||
|
game.addVideo('markCharacter',player,{
|
||||||
|
name:'易装',
|
||||||
|
content:'',
|
||||||
|
id:'yizhuang',
|
||||||
|
target:name
|
||||||
|
});
|
||||||
|
player.storage.yizhuang=name;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
threaten:1.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
yizhuang2:{
|
||||||
|
trigger:{player:'damageAfter'},
|
||||||
|
priority:-15,
|
||||||
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.additionalSkills.yizhuang?true:false;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.unmark(player.storage.yizhuang+'_charactermark');
|
||||||
|
delete player.storage.yizhuang;
|
||||||
|
delete player.additionalSkills.yizhuang;
|
||||||
|
player.checkMarks();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
kongju:{
|
||||||
|
mod:{
|
||||||
|
maxHandcard:function(player,num){
|
||||||
|
if(player.hp<player.maxHp) return num+player.maxHp-player.hp;
|
||||||
|
},
|
||||||
|
targetEnabled:function(card,player,target,now){
|
||||||
|
if(target.num('h')<target.maxHp){
|
||||||
|
if(card.name=='shunshou'||card.name=='guohe') return false;
|
||||||
|
}
|
||||||
|
else if(target.num('h')>target.maxHp){
|
||||||
|
if(card.name=='lebu') return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tuqiang:{
|
||||||
|
trigger:{player:'respond'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.card.name=='shan';
|
||||||
|
},
|
||||||
|
frequent:true,
|
||||||
|
content:function(){
|
||||||
|
player.draw();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
mingzhi:false,
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target){
|
||||||
|
if(get.tag(card,'respondShan')){
|
||||||
|
return 0.8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
xumou:{
|
||||||
|
inherit:'jushou'
|
||||||
|
},
|
||||||
|
zhensha:{
|
||||||
|
trigger:{global:'dying'},
|
||||||
|
priority:11,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.player.hp<=0&&player.num('h','jiu')>0&&player!=event.player;
|
||||||
|
},
|
||||||
|
check:function(event,player){
|
||||||
|
return ai.get.attitude(player,event.player)<0;
|
||||||
|
},
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var goon=(ai.get.attitude(player,trigger.player)<0);
|
||||||
|
var next=player.chooseToDiscard({name:'jiu'},'鸠杀:是否弃置一张酒令'+get.translation(trigger.player)+'立即死亡?');
|
||||||
|
next.ai=function(card){
|
||||||
|
if(goon) return 1;
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
|
next.logSkill=['zhensha',trigger.player];
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
trigger.player.die();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
'step 2'
|
||||||
|
if(!trigger.player.isAlive()){
|
||||||
|
trigger.untrigger(true);
|
||||||
|
trigger.finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ducai:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
unique:true,
|
||||||
|
forceunique:true,
|
||||||
|
check:function(card){
|
||||||
|
return 5-ai.get.value(card);
|
||||||
|
},
|
||||||
|
position:'he',
|
||||||
|
filterCard:true,
|
||||||
|
content:function(){
|
||||||
|
player.storage.ducai2=cards[0];
|
||||||
|
player.addTempSkill('ducai2',{player:'phaseBegin'});
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:8,
|
||||||
|
result:{
|
||||||
|
player:1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
global:'ducai3'
|
||||||
|
},
|
||||||
|
ducai2:{
|
||||||
|
mark:'card',
|
||||||
|
intro:{
|
||||||
|
content:'card'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ducai3:{
|
||||||
|
mod:{
|
||||||
|
cardEnabled:function(card,player){
|
||||||
|
if(player.skills.contains('ducai2')) return;
|
||||||
|
var suit;
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].skills.contains('ducai2')){
|
||||||
|
suit=get.suit(game.players[i].storage.ducai2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(suit&&get.suit(card)==suit) return false;
|
||||||
|
},
|
||||||
|
cardUsable:function(card,player){
|
||||||
|
if(player.skills.contains('ducai2')) return;
|
||||||
|
var suit;
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].skills.contains('ducai2')){
|
||||||
|
suit=get.suit(game.players[i].storage.ducai2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(suit&&get.suit(card)==suit) return false;
|
||||||
|
},
|
||||||
|
cardSavable:function(card,player){
|
||||||
|
if(player.skills.contains('ducai2')) return;
|
||||||
|
var suit;
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].skills.contains('ducai2')){
|
||||||
|
suit=get.suit(game.players[i].storage.ducai2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(suit&&get.suit(card)==suit) return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tongling:{
|
||||||
|
init:function(player){
|
||||||
|
player.storage.tongling=0;
|
||||||
|
},
|
||||||
|
intro:{
|
||||||
|
content:'mark'
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
trigger:{global:'damageAfter'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.player!=player&&player.storage.tongling<3;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.storage.tongling++;
|
||||||
|
player.syncStorage('tongling');
|
||||||
|
player.markSkill('tongling');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fanpu:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.tongling>=3;
|
||||||
|
},
|
||||||
|
promptfunc:function(){
|
||||||
|
return '令自己在本轮内不能成为出杀的目标(选择自己),或对攻击范围内的一名其他角色造成一点伤害'
|
||||||
|
},
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return player==target||get.distance(player,target,'attack')<=1;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
if(target==player){
|
||||||
|
target.addTempSkill('fanpu_disable',{player:'phaseBegin'});
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
target.damage();
|
||||||
|
}
|
||||||
|
player.storage.tongling-=3;
|
||||||
|
player.unmarkSkill('tongling');
|
||||||
|
player.syncStorage('tongling');
|
||||||
|
},
|
||||||
|
subSkill:{
|
||||||
|
disable:{
|
||||||
|
mark:true,
|
||||||
|
intro:{
|
||||||
|
content:'不能成为杀的目标'
|
||||||
|
},
|
||||||
|
mod:{
|
||||||
|
targetEnabled:function(card,player,target,now){
|
||||||
|
if(card.name=='sha') return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:2,
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
if(player==target){
|
||||||
|
if(player.hp<=2&&!player.num('h','shan')){
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return ai.get.damageEffect(target,player,target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fenghuo:{
|
||||||
|
enable:'chooseToUse',
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.num('e')>0;
|
||||||
|
},
|
||||||
|
filterCard:true,
|
||||||
|
position:'e',
|
||||||
|
viewAs:{name:'nanman'},
|
||||||
|
prompt:'将一张装备区内的牌当南蛮入侵使用',
|
||||||
|
check:function(card){
|
||||||
|
var player=_status.currentPhase;
|
||||||
|
if(player.num('he',{subtype:get.subtype(card)})>1){
|
||||||
|
return 11-ai.get.equipValue(card);
|
||||||
|
}
|
||||||
|
if(player.num('h')<player.hp){
|
||||||
|
return 6-ai.get.value(card);
|
||||||
|
}
|
||||||
|
return 2-ai.get.equipValue(card);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:9,
|
||||||
|
threaten:1.1
|
||||||
|
}
|
||||||
|
},
|
||||||
nichang:{
|
nichang:{
|
||||||
trigger:{player:'phaseDrawBefore'},
|
trigger:{player:'phaseDrawBefore'},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
|
@ -908,6 +1312,141 @@ character.yxs={
|
||||||
expose:0.2,
|
expose:0.2,
|
||||||
threaten:1.5
|
threaten:1.5
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
qiangyun:{
|
||||||
|
trigger:{player:'loseEnd'},
|
||||||
|
frequent:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(player.num('h')) return false;
|
||||||
|
for(var i=0;i<event.cards.length;i++){
|
||||||
|
if(event.cards[i].original=='h') return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.draw(2);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
target:function(card){
|
||||||
|
if(card.name=='guohe'||card.name=='liuxinghuoyu') return 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cike:{
|
||||||
|
trigger:{player:'shaBegin'},
|
||||||
|
check:function(event,player){
|
||||||
|
return ai.get.attitude(player,event.target)<=0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
player.judge();
|
||||||
|
"step 1"
|
||||||
|
if(result.color=='red'){
|
||||||
|
trigger.directHit=true;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player.discardPlayerCard(trigger.target);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
threaten:1.2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
miaobi:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
viewAs:{name:'wugu'},
|
||||||
|
filterCard:{suit:'heart'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return !player.getStat('skill').miaobi&&player.num('h',{suit:'heart'})>0;
|
||||||
|
},
|
||||||
|
check:function(card){
|
||||||
|
return 5-ai.get.value(card);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
zhexian:{
|
||||||
|
inherit:'niepan',
|
||||||
|
},
|
||||||
|
guifu:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return player!=target&&target.num('e')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.discardPlayerCard(target,'e',true);
|
||||||
|
'step 1'
|
||||||
|
game.asyncDraw([player,target]);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:8,
|
||||||
|
threaten:1.5,
|
||||||
|
result:{
|
||||||
|
target:-1,
|
||||||
|
player:0.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
lshengong:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return player!=target&&target.num('e')>0;
|
||||||
|
},
|
||||||
|
check:function(card){
|
||||||
|
return 6-ai.get.value(card);
|
||||||
|
},
|
||||||
|
filterCard:true,
|
||||||
|
discard:false,
|
||||||
|
lose:false,
|
||||||
|
prepare:function(cards,player,targets){
|
||||||
|
player.line(targets,'green');
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.choosePlayerCard(target,'e',true).ai=ai.get.buttonValue;
|
||||||
|
'step 1'
|
||||||
|
if(result.links[0]){
|
||||||
|
cards[0].init([result.links[0].suit,result.links[0].number,result.links[0].name,result.links[0].nature]);
|
||||||
|
event.card=cards[0];
|
||||||
|
player.chooseTarget('选择一个角色装备'+get.translation(result.links),function(card,player,target){
|
||||||
|
return !target.isMin();
|
||||||
|
}).ai=function(target){
|
||||||
|
if(!target.num('e',{subtype:get.subtype(event.card)})){
|
||||||
|
return ai.get.attitude(player,target);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
'step 2'
|
||||||
|
if(result.targets&&result.targets[0]&&event.card){
|
||||||
|
player.$give(event.card,result.targets[0]);
|
||||||
|
game.delay();
|
||||||
|
event.toequip=result.targets[0];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
'step 3'
|
||||||
|
if(event.toequip){
|
||||||
|
event.toequip.equip(event.card);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:9,
|
||||||
|
threaten:1.5,
|
||||||
|
result:{
|
||||||
|
player:function(player){
|
||||||
|
if(player.num('e')<3) return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
translate:{
|
translate:{
|
||||||
|
@ -919,7 +1458,56 @@ character.yxs={
|
||||||
yxs_aijiyanhou:'埃及艳后',
|
yxs_aijiyanhou:'埃及艳后',
|
||||||
yxs_diaochan:'貂蝉',
|
yxs_diaochan:'貂蝉',
|
||||||
yxs_yangyuhuan:'杨玉环',
|
yxs_yangyuhuan:'杨玉环',
|
||||||
|
yxs_baosi:'褒姒',
|
||||||
|
yxs_napolun:'拿破仑',
|
||||||
|
yxs_kaisa:'凯撒',
|
||||||
|
yxs_zhuyuanzhang:'朱元璋',
|
||||||
|
yxs_jinke:'荆轲',
|
||||||
|
yxs_libai:'李白',
|
||||||
|
yxs_luban:'鲁班',
|
||||||
|
yxs_lvzhi:'吕雉',
|
||||||
|
yxs_goujian:'勾践',
|
||||||
|
yxs_lishimin:'李世民',
|
||||||
|
yxs_huamulan:'花木兰',
|
||||||
|
yxs_luobinhan:'罗宾汉',
|
||||||
|
|
||||||
|
xiadao:'侠盗',
|
||||||
|
xiadao_info:'当你的装备区内没有牌时,你可以将一张手牌当作闪使用或打出',
|
||||||
|
lzhangyi:'仗义',
|
||||||
|
lzhangyi_info:'你可以将你弃置的卡牌交给一名其他角色',
|
||||||
|
yizhuang:'易装',
|
||||||
|
yizhuang2:'易装',
|
||||||
|
yizhuang_info:'回合开始阶段,你可以弃置一张牌并选择一名男性角色,获得其所有技能,直到你首次受到伤害',
|
||||||
|
kongju:'控局',
|
||||||
|
kongju_info:'锁定技,你的手牌上限为你的体力上限;当你的手牌数小于体力上限时,你不能成为过河拆桥或顺手牵羊的目标;当你的手牌数大于体力上限时,你不能成为乐不思蜀的目标',
|
||||||
|
tuqiang:'图强',
|
||||||
|
tuqiang_info:'每当你使用或打出一张闪,你可以摸一张牌',
|
||||||
|
zhensha:'鸩杀',
|
||||||
|
zhensha_info:'当场上有角色进入濒死状态时,你可以弃置一张酒,则该角色立即死亡。',
|
||||||
|
xumou:'蓄谋',
|
||||||
|
xumou_info:'回合结束阶段,你可以将武将牌翻页并摸3张牌',
|
||||||
|
guifu:'鬼斧',
|
||||||
|
guifu_info:'出牌阶段限一次,你可以指定一名角色装备区内的一张牌,将其弃掉,自己和对方同时摸取一张牌',
|
||||||
|
lshengong:'神工',
|
||||||
|
lshengong_info:'出牌阶段限一次,你可以选定场上任意一名角色的装备区的牌,出自己的一张手牌复制该装备,然后可以选择装备上自己或者别的角色的装备区',
|
||||||
|
zhexian:'谪仙',
|
||||||
|
zhexian_info:'当你处于濒死状态时,你可以丢弃你所有的牌和你判定区里的牌,并重置你的武将牌,然后摸三张牌且体力回复至3点。',
|
||||||
|
miaobi:'妙笔',
|
||||||
|
miaobi_info:'出牌阶段限一次,你可以将一张红桃牌当作五谷丰登使用',
|
||||||
|
cike:'刺客',
|
||||||
|
cike_info:'你对别的角色出【杀】时可以选择做一次判定:若判定牌为红色花色,则此【杀】不可回避,直接命中;若判定牌为黑色花色,你可以选择弃掉对方一张牌。',
|
||||||
|
qiangyun:'强运',
|
||||||
|
qiangyun_info:'每当你失去最后一张手牌,可摸两张牌',
|
||||||
|
ducai:'独裁',
|
||||||
|
ducai2:'独裁',
|
||||||
|
ducai3:'独裁',
|
||||||
|
ducai_info:'出牌阶段限一次,你可以弃置一张牌,则本轮内除你外的角色不能使用与该手牌花色相同的手牌',
|
||||||
|
tongling:'统领',
|
||||||
|
tongling_info:'每当其他角色受到一次伤害时,你获得1个统领标记(标记上限为3)',
|
||||||
|
fanpu:'反扑',
|
||||||
|
fanpu_info:'出牌阶段限一次,你可以弃掉3个统领标记并选择1项执行:(1)本轮内不能成为【杀】的目标;(2)对你攻击范围内的1名其他角色造成1点伤害。',
|
||||||
|
fenghuo:'烽火',
|
||||||
|
fenghuo_info:'你可以将一张装备区内的牌当作南蛮入侵使用',
|
||||||
weiyi:'威仪',
|
weiyi:'威仪',
|
||||||
weiyi_info:'每当你受到一次伤害,可以令伤害来源弃置两张牌',
|
weiyi_info:'每当你受到一次伤害,可以令伤害来源弃置两张牌',
|
||||||
xieling:'挟令',
|
xieling:'挟令',
|
||||||
|
|
24
game/game.js
|
@ -16,15 +16,16 @@
|
||||||
dieClose:[]
|
dieClose:[]
|
||||||
};
|
};
|
||||||
var lib={
|
var lib={
|
||||||
version:1.71,
|
version:1.72,
|
||||||
changeLog:[],
|
changeLog:[
|
||||||
configprefix:'noname_0.9_',
|
|
||||||
updates:[
|
|
||||||
'DIY命名规则修改:冒号改为竖线|',
|
'DIY命名规则修改:冒号改为竖线|',
|
||||||
'DIY技能引用现有配音',
|
'DIY技能引用现有配音',
|
||||||
'从现有技能创建新技能',
|
'从现有技能创建新技能',
|
||||||
'记住对话框位置',
|
'记住对话框位置',
|
||||||
|
'新武将(SP&英雄杀)'
|
||||||
],
|
],
|
||||||
|
configprefix:'noname_0.9_',
|
||||||
|
updates:[],
|
||||||
canvasUpdates:[],
|
canvasUpdates:[],
|
||||||
video:[],
|
video:[],
|
||||||
arenaReady:[],
|
arenaReady:[],
|
||||||
|
@ -6641,7 +6642,6 @@
|
||||||
}
|
}
|
||||||
if(this.marks[name]){
|
if(this.marks[name]){
|
||||||
this.marks[name].info=info;
|
this.marks[name].info=info;
|
||||||
this.updateMarks();
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(card){
|
if(card){
|
||||||
|
@ -6651,6 +6651,7 @@
|
||||||
this.marks[name]=this.mark(name,info);
|
this.marks[name]=this.mark(name,info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
this.updateMarks();
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
unmarkSkill:function(name){
|
unmarkSkill:function(name){
|
||||||
|
@ -8011,6 +8012,7 @@
|
||||||
this.node.info.classList.add('red');
|
this.node.info.classList.add('red');
|
||||||
}
|
}
|
||||||
this.node.name.innerHTML='';
|
this.node.name.innerHTML='';
|
||||||
|
this.node.image.className='image';
|
||||||
var name=get.translation(card[2]);
|
var name=get.translation(card[2]);
|
||||||
if(card[2]=='sha'){
|
if(card[2]=='sha'){
|
||||||
if(card[3]=='fire'){
|
if(card[3]=='fire'){
|
||||||
|
@ -8040,6 +8042,10 @@
|
||||||
if(lib.nature.contains(card[3])) this.nature=card[3];
|
if(lib.nature.contains(card[3])) this.nature=card[3];
|
||||||
this.classList.add(card[3]);
|
this.classList.add(card[3]);
|
||||||
}
|
}
|
||||||
|
else if(this.nature){
|
||||||
|
this.classList.remove(this.nature);
|
||||||
|
delete this.nature;
|
||||||
|
}
|
||||||
if(lib.card[card[2]].subtype) this.classList.add(lib.card[card[2]].subtype);
|
if(lib.card[card[2]].subtype) this.classList.add(lib.card[card[2]].subtype);
|
||||||
if(this.inits){
|
if(this.inits){
|
||||||
for(var i=0;i<lib.element.card.inits.length;i++){
|
for(var i=0;i<lib.element.card.inits.length;i++){
|
||||||
|
@ -9347,6 +9353,7 @@
|
||||||
if(lib.config.mode!='chess'){
|
if(lib.config.mode!='chess'){
|
||||||
game.playerMap={};
|
game.playerMap={};
|
||||||
}
|
}
|
||||||
|
game.finishCards();
|
||||||
'step 2'
|
'step 2'
|
||||||
if(event.video.length){
|
if(event.video.length){
|
||||||
var content=event.video.shift();
|
var content=event.video.shift();
|
||||||
|
@ -14528,7 +14535,8 @@
|
||||||
for(var i=0;i<skills.length;i++){
|
for(var i=0;i<skills.length;i++){
|
||||||
list2.push([skills[i],lib.translate[skills[i]]]);
|
list2.push([skills[i],lib.translate[skills[i]]]);
|
||||||
}
|
}
|
||||||
ui.create.selectlist(list,list[0],addSkill).onchange=function(){
|
var selectname=ui.create.selectlist(list,list[0],addSkill);
|
||||||
|
selectname.onchange=function(){
|
||||||
var skills=lib.character[this.value][3];
|
var skills=lib.character[this.value][3];
|
||||||
skillopt.innerHTML='';
|
skillopt.innerHTML='';
|
||||||
for(var i=0;i<skills.length;i++){
|
for(var i=0;i<skills.length;i++){
|
||||||
|
@ -14538,9 +14546,11 @@
|
||||||
skillopt.appendChild(option);
|
skillopt.appendChild(option);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
selectname.style.maxWidth='85px';
|
||||||
var skillopt=ui.create.selectlist(list2,list2[0],addSkill);
|
var skillopt=ui.create.selectlist(list2,list2[0],addSkill);
|
||||||
var editSkillButton=document.createElement('button');
|
var editSkillButton=document.createElement('button');
|
||||||
editSkillButton.innerHTML='编辑';
|
editSkillButton.innerHTML='编辑';
|
||||||
|
editSkillButton.style.marginRight='3px';
|
||||||
addSkill.appendChild(editSkillButton);
|
addSkill.appendChild(editSkillButton);
|
||||||
var addSkillButton=document.createElement('button');
|
var addSkillButton=document.createElement('button');
|
||||||
addSkillButton.innerHTML='添加';
|
addSkillButton.innerHTML='添加';
|
||||||
|
@ -20560,7 +20570,7 @@
|
||||||
var list=lib.rank.s.concat(lib.rank.ap).concat(lib.rank.a).concat(lib.rank.am).
|
var list=lib.rank.s.concat(lib.rank.ap).concat(lib.rank.a).concat(lib.rank.am).
|
||||||
concat(lib.rank.bp).concat(lib.rank.b).concat(lib.rank.bm).concat(lib.rank.c).concat(lib.rank.d);
|
concat(lib.rank.bp).concat(lib.rank.b).concat(lib.rank.bm).concat(lib.rank.c).concat(lib.rank.d);
|
||||||
for(var i in lib.character){
|
for(var i in lib.character){
|
||||||
if(i!='zuoci'&&!list.contains(i)) console.log(i);
|
if(i!='zuoci'&&i.indexOf('boss_')!=0&&!list.contains(i)) console.log(i);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
h:function(player){
|
h:function(player){
|
||||||
|
|
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 23 KiB |
|
@ -447,6 +447,7 @@
|
||||||
top:170px;
|
top:170px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.menu-buttons>.new_character>.add_skill.options{
|
.menu-buttons>.new_character>.add_skill.options{
|
||||||
top:145px;
|
top:145px;
|
||||||
|
|
|
@ -405,7 +405,11 @@ mode.guozhan={
|
||||||
game.players[i].node.identity.firstChild.innerHTML='猜';
|
game.players[i].node.identity.firstChild.innerHTML='猜';
|
||||||
game.players[i].node.identity.dataset.color='unknown';
|
game.players[i].node.identity.dataset.color='unknown';
|
||||||
}
|
}
|
||||||
game.players[i].hiddenSkills=lib.character[game.players[i].name][3].concat(lib.character[game.players[i].name2][3]);
|
game.players[i].hiddenSkills=lib.character[game.players[i].name][3].slice(0);
|
||||||
|
var hiddenSkills2=lib.character[game.players[i].name2][3];
|
||||||
|
for(var j=0;j<hiddenSkills2.length;j++){
|
||||||
|
game.players[i].hiddenSkills.add(hiddenSkills2[j]);
|
||||||
|
}
|
||||||
game.players[i].group='unknown';
|
game.players[i].group='unknown';
|
||||||
game.players[i].sex='unknown';
|
game.players[i].sex='unknown';
|
||||||
game.players[i].name1=game.players[i].name;
|
game.players[i].name1=game.players[i].name;
|
||||||
|
@ -768,25 +772,57 @@ mode.guozhan={
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
event.name=(game.expandSkills(lib.character[player.name1][3]).contains(trigger.skill))?
|
var bool1=(game.expandSkills(lib.character[player.name1][3]).contains(trigger.skill));
|
||||||
player.name1:player.name2;
|
var bool2=(game.expandSkills(lib.character[player.name2][3]).contains(trigger.skill));
|
||||||
|
if(bool1&&bool2){
|
||||||
|
event.name=player.name1;
|
||||||
|
event.name2=player.name2;
|
||||||
var info=get.info(trigger.skill);
|
var info=get.info(trigger.skill);
|
||||||
var yes=!info.check||info.check(trigger._trigger,player);
|
var yes=!info.check||info.check(trigger._trigger,player);
|
||||||
player.chooseBool('是否明置'+get.translation(event.name)+'以发动'+get.translation(trigger.skill)+'?').ai=function(){
|
player.chooseBool('是否明置'+get.translation(event.name)+'以发动【'+get.translation(trigger.skill)+'】?').ai=function(){
|
||||||
return yes;
|
return yes;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
event.name=bool1?player.name1:player.name2;
|
||||||
|
var info=get.info(trigger.skill);
|
||||||
|
var yes=!info.check||info.check(trigger._trigger,player);
|
||||||
|
player.chooseBool('是否明置'+get.translation(event.name)+'以发动【'+get.translation(trigger.skill)+'】?').ai=function(){
|
||||||
|
return yes;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
if(event.name==player.name1) player.showCharacter(0);
|
if(event.name==player.name1) player.showCharacter(0);
|
||||||
else player.showCharacter(1);
|
else player.showCharacter(1);
|
||||||
trigger.revealed=true;
|
trigger.revealed=true;
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
else if(event.name2){
|
||||||
|
var info=get.info(trigger.skill);
|
||||||
|
var yes=!info.check||info.check(trigger._trigger,player);
|
||||||
|
player.chooseBool('是否明置'+get.translation(event.name2)+'以发动【'+get.translation(trigger.skill)+'】?').ai=function(){
|
||||||
|
return yes;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
trigger.untrigger();
|
||||||
|
trigger.cancelled=true;
|
||||||
|
}
|
||||||
|
"step 2"
|
||||||
|
if(event.name2){
|
||||||
|
if(result.bool){
|
||||||
|
player.showCharacter(1);
|
||||||
|
trigger.revealed=true;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.cancelled=true;
|
trigger.cancelled=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
|