2017-04-14 23:35:56 +00:00
|
|
|
|
'use strict';
|
2017-04-17 05:18:46 +00:00
|
|
|
|
game.import('character',function(lib,game,ui,get,ai,_status){
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return {
|
|
|
|
|
name:'gwent',
|
|
|
|
|
character:{
|
2017-05-13 08:07:06 +00:00
|
|
|
|
gw_huoge:['male','qun',3,['yinzhang']],
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gw_aisinie:['female','wu',3,['huihun']],
|
|
|
|
|
gw_enxier:['male','wei',4,['gwbaquan']],
|
2017-03-02 04:10:18 +00:00
|
|
|
|
|
2017-03-11 16:19:35 +00:00
|
|
|
|
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gw_kaerweite:['male','shu',4,['gwjiquan']],
|
|
|
|
|
gw_falanxisika:['female','wu',3,['shewu']],
|
|
|
|
|
gw_haluo:['male','qun',4,['nuhou']],
|
2017-03-11 16:19:35 +00:00
|
|
|
|
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gw_airuiting:['male','wei',4,['kuanglie']],
|
|
|
|
|
gw_laduoweide:['male','wei',4,['gwxiaoshou']],
|
|
|
|
|
gw_dagong:['male','qun',4,['tianbian']],
|
2017-03-14 15:35:47 +00:00
|
|
|
|
|
2017-04-15 00:25:50 +00:00
|
|
|
|
// gw_bulanwang:['male','qun',3,[]],
|
|
|
|
|
// gw_kuite:['male','qun',3,[]],
|
|
|
|
|
// gw_fuertaisite:['male','qun',3,[]],
|
|
|
|
|
// gw_hengsaite:['male','qun',3,[]],
|
2017-05-13 08:07:06 +00:00
|
|
|
|
gw_fulisi:['male','qun',3,['lanquan']],
|
2017-05-15 17:44:43 +00:00
|
|
|
|
gw_gaier:['male','qun',3,['hunmo']],
|
2017-03-02 13:06:03 +00:00
|
|
|
|
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gw_jieluote:['male','qun',6,['fayin']],
|
|
|
|
|
gw_yenaifa:['female','qun',3,['xuezhou']],
|
|
|
|
|
gw_telisi:['female','wei',3,['huandie']],
|
|
|
|
|
gw_xili:['female','wu',3,['fengjian']],
|
|
|
|
|
gw_luoqi:['male','wei',4,['gwzhanjiang']],
|
|
|
|
|
gw_yioufeisi:['male','wu',4,['gwchuanxin']],
|
2017-05-12 15:13:26 +00:00
|
|
|
|
|
|
|
|
|
// gw_aigeleisi:['male','wu',4,[]],
|
2017-05-13 08:07:06 +00:00
|
|
|
|
gw_aokeweisite:['male','qun',4,['yunhuo']],
|
2017-05-12 15:13:26 +00:00
|
|
|
|
// gw_kaxier:['male','wu',4,[]],
|
2017-05-17 06:45:21 +00:00
|
|
|
|
gw_luobo:['male','qun',3,['junchi']],
|
2017-05-12 15:13:26 +00:00
|
|
|
|
// gw_mieren:['male','wu',4,[]],
|
|
|
|
|
// gw_sanhanya:['male','wu',4,[]],
|
2017-05-13 08:56:28 +00:00
|
|
|
|
gw_shanhu:['female','qun',3,['shuijian']],
|
2017-05-12 15:13:26 +00:00
|
|
|
|
// gw_zhangyujushou:['male','wu',4,[]],
|
2017-05-16 16:52:28 +00:00
|
|
|
|
gw_zhuoertan:['male','wu',3,['hupeng']],
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
characterIntro:{
|
|
|
|
|
gw_huoge:'那个老年痴呆?不知道他是活着还是已经被制成标本了!',
|
|
|
|
|
gw_aisinie:'树精皇后有着熔银做成的眼睛,冰冷铸钢的心脏。',
|
|
|
|
|
gw_gaier:'画作应该要传达情绪,而不是字句。',
|
|
|
|
|
gw_enxier:'我可没什么耐心,最好小心点,否则脑袋不保',
|
2017-03-02 04:10:18 +00:00
|
|
|
|
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gw_yenaifa:'魔法是艺术、混沌与科学的结合。因为魔法的确是一门技艺也是一种诅咒。',
|
|
|
|
|
gw_telisi:'我可以照顾我自己,相信我。',
|
|
|
|
|
gw_jieluote:'如果要付出这种代价才能拯救世界,那最好还是让世界消逝吧。',
|
|
|
|
|
gw_xili:'我想去哪,就去哪。',
|
|
|
|
|
gw_luoqi:'是个爱国者…还是个货真价实的王八蛋。',
|
|
|
|
|
gw_yioufeisi:'国王还是乞丐,两者有何区别,人类少一个算一个',
|
|
|
|
|
},
|
|
|
|
|
skill:{
|
2017-05-17 06:45:21 +00:00
|
|
|
|
junchi:{
|
|
|
|
|
trigger:{global:'shaAfter'},
|
|
|
|
|
direct:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return event.player!=player&&event.target!=player&&event.target.isIn()&&player.hasCard(function(card){
|
|
|
|
|
return player.canUse(card,event.player,false);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
var next=player.chooseToUse(get.prompt('junchi'),trigger.target,-1).set('targetRequired',true);
|
|
|
|
|
next.prompt2='对'+get.translation(trigger.target)+'使用一张牌,并摸一张牌';
|
|
|
|
|
next.filterCard=function(card){
|
|
|
|
|
return player.canUse(card,trigger.target,false)&&!get.info(card).multitarget;
|
|
|
|
|
};
|
|
|
|
|
next.oncard=function(){
|
|
|
|
|
player.draw();
|
|
|
|
|
};
|
|
|
|
|
next.logSkill='junchi';
|
|
|
|
|
},
|
|
|
|
|
subSkill:{
|
|
|
|
|
gold:{
|
|
|
|
|
trigger:{global:'useCardAfter'},
|
|
|
|
|
frequent:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return event.player!=player&get.subtype(event.card)=='spell_gold';
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
player.insertPhase();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
group:'junchi_gold'
|
|
|
|
|
},
|
|
|
|
|
junchi_old:{
|
|
|
|
|
trigger:{global:'shaAfter'},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return event.player!=player&&event.target!=player&&event.player.isIn()&&event.player.countCards('he');
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var att=get.attitude(trigger.player,player);
|
|
|
|
|
trigger.player.chooseCard('he','是否交给'+get.translation(player)+'一张牌?').ai=function(card){
|
|
|
|
|
if(att>1){
|
|
|
|
|
if(trigger.target.isIn()){
|
|
|
|
|
return 9-get.value(card);
|
|
|
|
|
}
|
|
|
|
|
return 4-get.value(card);
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
player.logSkill('junchi');
|
|
|
|
|
player.gain(result.cards,trigger.player);
|
|
|
|
|
if(get.position(result.cards[0])=='h'){
|
|
|
|
|
trigger.player.$giveAuto(result.cards,player);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
trigger.player.$give(result.cards,player);
|
|
|
|
|
}
|
|
|
|
|
trigger.player.addExpose(0.2);
|
|
|
|
|
trigger.player.line(player,'green');
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
event.finish();
|
|
|
|
|
}
|
|
|
|
|
'step 2'
|
|
|
|
|
if(trigger.target.isIn()){
|
|
|
|
|
var next=player.chooseToUse('是否对'+get.translation(trigger.target)+'使用一张牌?',trigger.target,-1).set('targetRequired',true);
|
|
|
|
|
next.filterCard=function(card){
|
|
|
|
|
return player.canUse(card,trigger.target,false)&&!get.info(card).multitarget;
|
|
|
|
|
};
|
|
|
|
|
next.oncard=function(){
|
|
|
|
|
player.recover();
|
|
|
|
|
trigger.player.draw();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-05-16 16:52:28 +00:00
|
|
|
|
hupeng:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return player.countCards('he')>0;
|
|
|
|
|
},
|
|
|
|
|
filterCard:true,
|
|
|
|
|
check:function(card){
|
|
|
|
|
return 7-ai.get.value(card);
|
|
|
|
|
},
|
|
|
|
|
filterTarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var att=get.attitude(player,target);
|
|
|
|
|
player.chooseVCardButton('选择令'+get.translation(target)+'获得的牌',['gw_dudayuanshuai1','gw_dudayuanshuai2'],true).ai=function(button){
|
|
|
|
|
if(att>0){
|
|
|
|
|
return button.link[2]=='gw_dudayuanshuai1'?1:-1;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
return button.link[2]=='gw_dudayuanshuai2'?1:-1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
target.gain(game.createCard(result.links[0][2]),'gain2');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
threaten:1.5,
|
|
|
|
|
order:6,
|
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
|
|
|
|
var nh=target.countCards('h');
|
|
|
|
|
if(get.attitude(player,target)>0){
|
|
|
|
|
if(!nh) return 3;
|
|
|
|
|
if(!target.needsToDiscard(1)){
|
|
|
|
|
if(nh==1) return 2.5;
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
|
|
|
|
if(!target.needsToDiscard()) return 1;
|
|
|
|
|
return 0.1;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
if(!nh) return -0.05;
|
|
|
|
|
if(target.hp==1) return -1;
|
|
|
|
|
if(target.hp==2) return -2.5;
|
|
|
|
|
if(target.hp==3) return -2;
|
|
|
|
|
return -0.5;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
global:['hupeng2','hupeng3','hupeng4']
|
|
|
|
|
},
|
|
|
|
|
hupeng2:{
|
|
|
|
|
mod:{
|
|
|
|
|
cardDiscardable:function(card,player){
|
|
|
|
|
if(card.name=='gw_dudayuanshuai2') return false;
|
|
|
|
|
},
|
|
|
|
|
cardEnabled:function(card,player){
|
|
|
|
|
if(card.name=='gw_dudayuanshuai2') return false;
|
|
|
|
|
},
|
|
|
|
|
cardUsable:function(card,player){
|
|
|
|
|
if(card.name=='gw_dudayuanshuai2') return false;
|
|
|
|
|
},
|
|
|
|
|
cardRespondable:function(card,player){
|
|
|
|
|
if(card.name=='gw_dudayuanshuai2') return false;
|
|
|
|
|
},
|
|
|
|
|
cardSavable:function(card,player){
|
|
|
|
|
if(card.name=='gw_dudayuanshuai2') return false;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
effect:{
|
|
|
|
|
target:function(card,player,target){
|
|
|
|
|
if(target.countCards('h','gw_dudayuanshuai1')&&get.attitude(player,target)<0){
|
|
|
|
|
return 0.4;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
hupeng3:{
|
|
|
|
|
trigger:{player:'phaseEnd'},
|
|
|
|
|
forced:true,
|
|
|
|
|
silent:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return player.countCards('h','gw_dudayuanshuai2');
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
var hs=player.getCards('h');
|
|
|
|
|
var hs2=player.getCards('h','gw_dudayuanshuai2');
|
|
|
|
|
hs.remove(hs2);
|
|
|
|
|
if(hs.length){
|
|
|
|
|
hs2.addArray(hs.randomGets(hs2.length));
|
|
|
|
|
}
|
|
|
|
|
player.discard(hs2);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
hupeng4:{
|
|
|
|
|
trigger:{target:'useCardToBefore'},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(event.player==player) return false;
|
|
|
|
|
var num=player.countCards('h','gw_dudayuanshuai1');
|
|
|
|
|
return num>0;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
player.chooseToUse({name:'gw_dudayuanshuai1'},'是否对'+get.translation(trigger.card)+'使用【杜达元帅】?').set('ai1',function(card){
|
|
|
|
|
return _status.event.bool;
|
|
|
|
|
}).set('bool',-get.effect(player,trigger.card,trigger.player,player));
|
|
|
|
|
trigger.gw_dudayuanshuai1=true;
|
|
|
|
|
'step 1'
|
|
|
|
|
delete trigger.gw_dudayuanshuai1;
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-05-15 17:44:43 +00:00
|
|
|
|
hunmo:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return game.hasPlayer(function(current){
|
|
|
|
|
return lib.skill.hunmo.filterTarget(null,player,current);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
filterTarget:function(card,player,target){
|
|
|
|
|
if(target.countCards('h')==2) return false;
|
|
|
|
|
if(target!=player){
|
|
|
|
|
return !target.hasSkill('hunmo2');
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
return player.storage.hunmo2>=player.storage.hunmo1;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
var nh=target.countCards('h');
|
|
|
|
|
if(nh<2){
|
|
|
|
|
target.draw();
|
|
|
|
|
}
|
|
|
|
|
else if(nh>2){
|
|
|
|
|
target.chooseToDiscard('h',true);
|
|
|
|
|
}
|
|
|
|
|
if(target!=player){
|
|
|
|
|
target.addTempSkill('hunmo2','phaseAfter');
|
|
|
|
|
player.storage.hunmo2++;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
player.storage.hunmo1++;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:11,
|
|
|
|
|
threaten:1.2,
|
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
|
|
|
|
var nh=target.countCards('h');
|
|
|
|
|
if(nh<2) return 1;
|
|
|
|
|
if(nh>2){
|
|
|
|
|
if(target.hasSkillTag('noh')) return 0;
|
|
|
|
|
if(target.hasSkillTag('nodiscard')) return 0;
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
group:'hunmo_count',
|
|
|
|
|
subSkill:{
|
|
|
|
|
count:{
|
|
|
|
|
trigger:{player:'phaseUseBegin'},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
silent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
player.storage.hunmo1=0;
|
|
|
|
|
player.storage.hunmo2=0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
hunmo2:{},
|
|
|
|
|
hunmo3:{},
|
|
|
|
|
hunmo4:{},
|
2017-05-13 08:56:28 +00:00
|
|
|
|
shuijian:{
|
|
|
|
|
trigger:{player:'phaseBegin'},
|
|
|
|
|
direct:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return player.countCards('h')>0;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var targets=player.getEnemies();
|
|
|
|
|
var num=0;
|
|
|
|
|
for(var i=0;i<targets.length;i++){
|
|
|
|
|
num+=get.sgn(get.effect(targets[i],{name:'wanjian'},player,player));
|
|
|
|
|
}
|
|
|
|
|
event.targets=targets;
|
|
|
|
|
player.chooseToDiscard(get.prompt('shuijian')).set('ai',function(card){
|
|
|
|
|
if(num>=3) return 10-get.value(card);
|
|
|
|
|
if(num>=2) return 9-get.value(card);
|
|
|
|
|
if(num>=1) return 7-get.value(card);
|
|
|
|
|
return 0;
|
|
|
|
|
}).logSkill='shuijian';
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
for(var i=0;i<event.targets.length;i++){
|
|
|
|
|
event.targets[i].addExpose(0.1);
|
|
|
|
|
}
|
|
|
|
|
player.useCard({name:'wanjian'},event.targets);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
threaten:1.6
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-05-13 08:07:06 +00:00
|
|
|
|
yunhuo:{
|
|
|
|
|
trigger:{player:'phaseBegin'},
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return game.roundNumber%4==0&&event.skill!='yunhuo2';
|
|
|
|
|
},
|
|
|
|
|
forced:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
2017-05-17 06:45:21 +00:00
|
|
|
|
player.insertPhase();
|
2017-05-13 08:07:06 +00:00
|
|
|
|
event.list=player.getEnemies().sortBySeat();
|
|
|
|
|
'step 1'
|
|
|
|
|
if(event.list.length){
|
|
|
|
|
var target=event.list.shift();
|
|
|
|
|
player.line(target,'fire');
|
|
|
|
|
if(target.countCards('h')){
|
|
|
|
|
target.randomDiscard('h',false);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
target.damage('fire');
|
|
|
|
|
}
|
|
|
|
|
event.redo();
|
|
|
|
|
}
|
|
|
|
|
'step 2'
|
|
|
|
|
game.delayx();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
yinzhang:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
filterCard:true,
|
|
|
|
|
position:'he',
|
|
|
|
|
check:function(card){
|
|
|
|
|
return 8-get.value(card)
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var list=get.typeCard('spell_silver').randomGets(3);
|
|
|
|
|
if(!list.length){
|
|
|
|
|
event.finish();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var dialog=ui.create.dialog('选择一张加入你的手牌',[list,'vcard'],'hidden');
|
|
|
|
|
player.chooseButton(dialog,true);
|
|
|
|
|
'step 1'
|
|
|
|
|
player.gain(game.createCard(result.links[0][2]),'draw');
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:8,
|
2017-05-15 13:35:30 +00:00
|
|
|
|
threaten:1.3,
|
2017-05-13 08:07:06 +00:00
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
tianbian:{
|
|
|
|
|
trigger:{player:'phaseUseBegin'},
|
|
|
|
|
direct:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var num1=0,num2=0;
|
|
|
|
|
var choice;
|
|
|
|
|
if(player.hasUnknown(2)){
|
|
|
|
|
if(game.dead.length==0){
|
|
|
|
|
choice='选项二';
|
2017-03-21 09:24:19 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
else{
|
|
|
|
|
choice='cancel2';
|
2017-03-21 09:24:19 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
game.countPlayer(function(current){
|
|
|
|
|
var att=get.attitude(player,current);
|
|
|
|
|
if(att>0){
|
|
|
|
|
num1++;
|
2017-03-21 09:24:19 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
else if(att<0){
|
|
|
|
|
num2++;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
choice=(num1>num2)?'选项一':'选项二';
|
|
|
|
|
}
|
|
|
|
|
player.chooseControl('选项一','选项二','cancel2',function(){
|
|
|
|
|
return choice;
|
|
|
|
|
}).set('prompt',get.prompt('tianbian')).set('choiceList',['随机使用一张对全场有正面效果的牌','随机使用一张对全场有负面效果的牌']);
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.control!='cancel2'){
|
|
|
|
|
player.logSkill('tianbian');
|
|
|
|
|
var list=[];
|
|
|
|
|
for(var i in lib.card){
|
|
|
|
|
if(lib.inpile.contains(i)&&
|
|
|
|
|
lib.card[i].selectTarget==-1&&
|
|
|
|
|
lib.card[i].type!='equip'&&
|
|
|
|
|
lib.card[i].ai&&lib.card[i].ai.tag&&
|
|
|
|
|
lib.card[i].ai.tag.multitarget){
|
|
|
|
|
if(lib.card[i].ai.tag.multineg){
|
|
|
|
|
if(result.control=='选项二'){
|
|
|
|
|
list.push(i);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
if(result.control=='选项一'){
|
|
|
|
|
list.push(i);
|
|
|
|
|
}
|
2017-03-21 09:24:19 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
var name=null;
|
|
|
|
|
while(list.length){
|
|
|
|
|
name=list.randomRemove();
|
|
|
|
|
if(game.hasPlayer(function(current){
|
|
|
|
|
return player.canUse(name,current)
|
|
|
|
|
})){
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
name=null;
|
|
|
|
|
}
|
2017-03-21 09:24:19 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(name){
|
|
|
|
|
var targets=game.filterPlayer(function(current){
|
|
|
|
|
return player.canUse(name,current);
|
|
|
|
|
});
|
|
|
|
|
targets.sortBySeat();
|
|
|
|
|
player.useCard({name:name},targets);
|
2017-03-21 09:24:19 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gwxiaoshou:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:2,
|
|
|
|
|
filterTarget:function(card,player,target){
|
2017-05-12 08:05:59 +00:00
|
|
|
|
return target.isMaxHp();
|
2017-03-21 09:24:19 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
check:function(card){return 7-get.value(card);},
|
|
|
|
|
position:'he',
|
|
|
|
|
filterCard:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
target.damage();
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
|
|
|
|
return get.damageEffect(target,player);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
order:7
|
2017-03-14 15:35:47 +00:00
|
|
|
|
}
|
2017-03-11 16:19:35 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
kuanglie:{
|
|
|
|
|
trigger:{player:'useCardToBegin'},
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return event.target&&event.target!=player&&event.target.countCards('he')&&get.color(event.card)=='black';
|
|
|
|
|
},
|
|
|
|
|
init:function(player){
|
|
|
|
|
player.storage.kuanglie=0;
|
|
|
|
|
},
|
|
|
|
|
forced:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
trigger.target.randomDiscard();
|
|
|
|
|
player.storage.kuanglie++;
|
|
|
|
|
if(player.storage.kuanglie%2==0){
|
|
|
|
|
player.draw();
|
2017-03-11 16:19:35 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
kuanglie2:{},
|
|
|
|
|
gwjiquan:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
filterTarget:function(card,player,target){
|
|
|
|
|
return target!=player&&target.countCards('he');
|
|
|
|
|
},
|
|
|
|
|
selectTarget:[1,Infinity],
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
player.gainPlayerCard(target,'he',true);
|
|
|
|
|
'step 1'
|
|
|
|
|
target.useCard({name:'sha'},player);
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
threaten:1.4,
|
|
|
|
|
order:7,
|
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
|
|
|
|
if(player.getEquip('tengjia')||player.getEquip('bagua')) return -1;
|
|
|
|
|
if(get.effect(player,{name:'sha'},target,player)>=0) return -1;
|
|
|
|
|
if(!player.hasShan()){
|
|
|
|
|
if(ui.selected.targets.length) return 0;
|
|
|
|
|
if(player.hp>=4) return -1;
|
|
|
|
|
if(player.hp>=3&&target.hp==1) return -1;
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
var num=player.countCards('h','shan');
|
|
|
|
|
if(num<1){
|
|
|
|
|
num=1;
|
|
|
|
|
}
|
|
|
|
|
if(ui.selected.targets.length>=num){
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-03-11 16:19:35 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
nuhou:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
position:'he',
|
|
|
|
|
filterCard:true,
|
|
|
|
|
check:function(card){
|
|
|
|
|
return 7-get.value(card)
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var list=player.getEnemies();
|
|
|
|
|
list.sortBySeat();
|
|
|
|
|
event.list=list;
|
|
|
|
|
'step 1'
|
|
|
|
|
if(event.list.length){
|
|
|
|
|
var current=event.list.shift();
|
|
|
|
|
var he=current.getCards('he');
|
|
|
|
|
player.line(current,'green');
|
|
|
|
|
if(he.length){
|
|
|
|
|
current.discard(he.randomGet());
|
|
|
|
|
current.addExpose(0.2);
|
|
|
|
|
}
|
|
|
|
|
event.redo();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:8.5,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
},
|
2017-03-11 16:19:35 +00:00
|
|
|
|
},
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
shewu:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
position:'he',
|
|
|
|
|
filterCard:true,
|
|
|
|
|
selectCard:[1,3],
|
|
|
|
|
check:function(card){
|
|
|
|
|
if(!ui.selected.cards.length){
|
2017-04-23 06:06:23 +00:00
|
|
|
|
return 8-get.value(card)
|
2017-04-15 00:25:50 +00:00
|
|
|
|
}
|
|
|
|
|
var player=_status.event.player;
|
|
|
|
|
if(player.isDamaged()){
|
|
|
|
|
var hs=player.getCards('h');
|
|
|
|
|
var num=0;
|
|
|
|
|
for(var i=0;i<hs.length;i++){
|
|
|
|
|
if(get.value(hs[i])<6){
|
|
|
|
|
num++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(num>=3){
|
|
|
|
|
return 6-get.value(card);
|
2017-03-11 16:19:35 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return 0;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
player.draw(3);
|
|
|
|
|
if(cards.length>=2){
|
|
|
|
|
player.addTempSkill('shewu_dist','phaseAfter');
|
|
|
|
|
}
|
|
|
|
|
if(cards.length==3){
|
|
|
|
|
player.recover();
|
2017-03-11 16:19:35 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
ai:{
|
2017-04-23 06:06:23 +00:00
|
|
|
|
order:4,
|
2017-04-15 00:25:50 +00:00
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
},
|
|
|
|
|
threaten:1.6
|
|
|
|
|
},
|
|
|
|
|
subSkill:{
|
|
|
|
|
dist:{
|
|
|
|
|
mod:{
|
|
|
|
|
targetInRange:function(){
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2017-03-11 16:19:35 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-03-02 16:46:02 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gwzhanjiang:{
|
|
|
|
|
trigger:{global:'phaseBegin'},
|
|
|
|
|
direct:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return !player.hasSkill('gwzhanjiang2')&&event.player!=player;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var bool=(get.effect(trigger.player,{name:'sha'},player,player)>0&&
|
|
|
|
|
Math.abs(get.attitude(player,trigger.player))>1&&
|
|
|
|
|
game.hasPlayer(function(current){
|
|
|
|
|
return get.attitude(current,player)>0&¤t.hasSha();
|
|
|
|
|
}));
|
|
|
|
|
var next=player.chooseToDiscard(get.prompt('gwzhanjiang',trigger.player),'he');
|
|
|
|
|
next.ai=function(card){
|
|
|
|
|
if(bool) return 7-get.value(card);
|
|
|
|
|
return 0;
|
|
|
|
|
};
|
|
|
|
|
next.logSkill=['gwzhanjiang',trigger.player];
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
player.addTempSkill('gwzhanjiang2',{player:'phaseBegin'});
|
|
|
|
|
event.targets=game.filterPlayer(function(current){
|
|
|
|
|
return current!=trigger.player;
|
|
|
|
|
});
|
|
|
|
|
event.targets.sortBySeat(trigger.player);
|
|
|
|
|
event.num=0;
|
2017-03-02 16:46:02 +00:00
|
|
|
|
}
|
|
|
|
|
else{
|
2017-04-15 00:25:50 +00:00
|
|
|
|
event.finish();
|
|
|
|
|
}
|
|
|
|
|
'step 2'
|
|
|
|
|
if(event.targets.length){
|
|
|
|
|
event.current=event.targets.shift();
|
|
|
|
|
if(event.current.hasSha()){
|
2017-05-17 06:45:21 +00:00
|
|
|
|
event.current.chooseToUse({name:'sha'},'是否对'+get.translation(trigger.player)+'使用一张杀?',trigger.player,-1).oncard=function(card,player){
|
|
|
|
|
player.draw();
|
|
|
|
|
};
|
2017-04-15 00:25:50 +00:00
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
event.redo();
|
|
|
|
|
}
|
2017-03-02 16:46:02 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
else{
|
2017-05-05 09:45:46 +00:00
|
|
|
|
event.finish();
|
2017-03-22 07:59:16 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
'step 3'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
event.num++;
|
|
|
|
|
if(event.num>=2){
|
|
|
|
|
return;
|
2017-04-06 01:54:08 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
event.goto(2);
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
expose:0.2,
|
|
|
|
|
threaten:1.4
|
|
|
|
|
},
|
2017-03-02 16:46:02 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gwzhanjiang2:{},
|
|
|
|
|
gwzhanjiang3:{
|
|
|
|
|
trigger:{player:'useCard'},
|
|
|
|
|
filter:function(event){
|
|
|
|
|
return event.card.name=='sha'&&event.getParent(2).name=='gwzhanjiang';
|
|
|
|
|
},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
content:function(){
|
|
|
|
|
player.draw();
|
2017-03-02 16:46:02 +00:00
|
|
|
|
}
|
2017-04-06 01:54:08 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gwchuanxin_old:{
|
|
|
|
|
trigger:{player:'shaAfter'},
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(player.storage.gwchuanxin&&player.storage.gwchuanxin.length>=4) return false;
|
|
|
|
|
return event.target.isAlive();
|
|
|
|
|
},
|
|
|
|
|
check:function(event,player){
|
|
|
|
|
return get.effect(event.target,{name:'sha'},player,player)>0
|
|
|
|
|
},
|
|
|
|
|
logTarget:'target',
|
|
|
|
|
logLine:false,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
event.card=get.cards()[0];
|
|
|
|
|
player.showCards(event.card,get.translation(player)+'对'+get.translation(trigger.player)+'发动了【穿心】');
|
|
|
|
|
'step 1'
|
|
|
|
|
if(player.storage.gwchuanxin&&!player.storage.gwchuanxin.contains(get.suit(event.card))){
|
|
|
|
|
player.useCard({name:'sha'},[event.card],trigger.target,false);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
group:['gwchuanxin_count1','gwchuanxin_count2'],
|
|
|
|
|
subSkill:{
|
|
|
|
|
count1:{
|
|
|
|
|
trigger:{global:'phaseBegin'},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
silent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
player.storage.gwchuanxin=[];
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
count2:{
|
|
|
|
|
trigger:{player:'useCard'},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
silent:true,
|
|
|
|
|
// filter:function(event){
|
|
|
|
|
// return event.card&&event.card.name=='sha';
|
|
|
|
|
// },
|
|
|
|
|
content:function(){
|
|
|
|
|
for(var i=0;i<trigger.cards.length;i++){
|
|
|
|
|
player.storage.gwchuanxin.add(get.suit(trigger.cards[i]));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
presha:true,
|
2017-04-06 01:54:08 +00:00
|
|
|
|
}
|
2017-03-02 13:06:03 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gwchuanxin:{
|
|
|
|
|
trigger:{player:'shaAfter'},
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return event.target.isAlive();
|
|
|
|
|
},
|
|
|
|
|
check:function(event,player){
|
|
|
|
|
return get.effect(event.target,{name:'sha'},player,player)>0
|
|
|
|
|
},
|
|
|
|
|
logTarget:'target',
|
|
|
|
|
// logLine:false,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var cards=get.cards();
|
|
|
|
|
player.showCards(cards,get.translation(player)+'发动了【穿心】');
|
|
|
|
|
event.bool=(get.color(cards[0])=='black');
|
|
|
|
|
'step 1'
|
|
|
|
|
if(event.bool){
|
|
|
|
|
player.useCard({name:'sha'},trigger.target,false).animate=false;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mod:{
|
|
|
|
|
attackFrom:function(from,to,distance){
|
|
|
|
|
return distance-from.hp;
|
|
|
|
|
}
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
fengjian:{
|
|
|
|
|
trigger:{player:'useCard'},
|
|
|
|
|
direct:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
var type=get.type(event.card,'trick');
|
|
|
|
|
return type=='trick'&&game.hasPlayer(function(current){
|
|
|
|
|
return player.canUse('sha',current,false)&&!event.targets.contains(current);
|
2017-03-02 13:06:03 +00:00
|
|
|
|
});
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
"step 0"
|
|
|
|
|
player.chooseTarget(get.prompt('fengjian'),function(card,player,target){
|
|
|
|
|
return player.canUse('sha',target,false)&&!trigger.targets.contains(target);
|
|
|
|
|
}).ai=function(target){
|
|
|
|
|
return get.effect(target,{name:'sha',nature:'thunder'},player,player);
|
|
|
|
|
}
|
|
|
|
|
"step 1"
|
|
|
|
|
if(result.bool){
|
|
|
|
|
player.logSkill('fengjian');
|
2017-05-15 17:44:43 +00:00
|
|
|
|
if(!event.isMine()){
|
|
|
|
|
game.delay();
|
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
player.useCard({name:'sha',nature:'thunder'},result.targets,false);
|
|
|
|
|
player.addTempSkill('qianxing',{player:'phaseBegin'});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
expose:0.2,
|
|
|
|
|
threaten:1.5,
|
|
|
|
|
noautowuxie:true,
|
|
|
|
|
},
|
|
|
|
|
// group:'fengjian_hide',
|
|
|
|
|
// subSkill:{
|
|
|
|
|
// hide:{
|
|
|
|
|
// trigger:{source:'damageEnd'},
|
|
|
|
|
// forced:true,
|
|
|
|
|
// popup:false,
|
|
|
|
|
// filter:function(event,player){
|
|
|
|
|
// return event.getParent(3).name=='fengjian';
|
|
|
|
|
// },
|
|
|
|
|
// content:function(){
|
|
|
|
|
// player.addTempSkill('qianxing',{player:'phaseBegin'});
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
},
|
|
|
|
|
huandie:{
|
|
|
|
|
trigger:{player:'phaseBegin'},
|
|
|
|
|
direct:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
player.chooseTarget(get.prompt('huandie'),[0,game.countPlayer()],function(card,player,target){
|
|
|
|
|
return target!=player;
|
|
|
|
|
}).ai=function(target){
|
|
|
|
|
return get.attitude(player,target);
|
|
|
|
|
}
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
result.targets.sortBySeat();
|
|
|
|
|
result.targets.unshift(player);
|
|
|
|
|
player.logSkill('huandie',result.targets);
|
|
|
|
|
game.asyncDrawAuto(result.targets,function(current){
|
|
|
|
|
return current==player?1:2;
|
2017-03-02 13:06:03 +00:00
|
|
|
|
});
|
2017-04-15 00:25:50 +00:00
|
|
|
|
player.addTempSkill('huandie_discard','phaseAfter');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
threaten:1.5
|
|
|
|
|
},
|
|
|
|
|
subSkill:{
|
|
|
|
|
discard:{
|
|
|
|
|
trigger:{player:'phaseEnd'},
|
|
|
|
|
forced:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return game.hasPlayer(function(current){
|
|
|
|
|
return current.countCards('h')>current.hp;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
logTarget:function(){
|
|
|
|
|
return game.filterPlayer(function(current){
|
|
|
|
|
return current.countCards('h')>current.hp;
|
|
|
|
|
}).sortBySeat();
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var list=game.filterPlayer(function(current){
|
|
|
|
|
return current.countCards('h')>current.hp;
|
|
|
|
|
}).sortBySeat();
|
|
|
|
|
event.list=list;
|
|
|
|
|
'step 1'
|
|
|
|
|
if(event.list.length){
|
|
|
|
|
event.list.shift().chooseToDiscard('h',true,2);
|
|
|
|
|
event.redo();
|
|
|
|
|
}
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
xuezhou:{
|
|
|
|
|
trigger:{player:'phaseBegin'},
|
|
|
|
|
direct:true,
|
|
|
|
|
unique:true,
|
|
|
|
|
forceunique:true,
|
|
|
|
|
intro:{
|
|
|
|
|
content:function(storage,player){
|
|
|
|
|
var name=get.translation(player);
|
|
|
|
|
if(storage==1){
|
|
|
|
|
return '每当一名角色('+name+'除外)受到一次伤害,该角色失去一点体力,'+name+'回复一点体力';
|
|
|
|
|
}
|
|
|
|
|
else if(storage==2){
|
|
|
|
|
return '每当一名角色('+name+'除外)造成一次伤害,该角色失去一点体力,'+name+'(若不是受伤害角色)回复一点体力';
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
return '未发动';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var next=player.chooseControl('选项一','选项二','cancel2',function(){
|
|
|
|
|
if(Math.random()<0.65) return 0;
|
|
|
|
|
return 1;
|
|
|
|
|
});
|
|
|
|
|
next.prompt=get.prompt('xuezhou');
|
|
|
|
|
next.choiceList=[
|
|
|
|
|
'每当一名其他角色受到一次伤害,该角色失去一点体力,你回复一点体力',
|
|
|
|
|
'每当一名其他角色造成一次伤害,该角色失去一点体力,你(若不是受伤害角色)回复一点体力'
|
|
|
|
|
];
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.control=='cancel2'){
|
|
|
|
|
player.unmarkSkill('xuezhou');
|
|
|
|
|
delete _status.xuezhou;
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
|
|
|
|
else{
|
2017-04-15 00:25:50 +00:00
|
|
|
|
player.logSkill('xuezhou');
|
|
|
|
|
player.storage.xuezhou=result.index+1;
|
|
|
|
|
player.syncStorage('xuezhou');
|
|
|
|
|
player.markSkill('xuezhou');
|
|
|
|
|
_status.xuezhou=player;
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
threaten:2.5
|
|
|
|
|
},
|
|
|
|
|
global:'xuezhou_hp'
|
|
|
|
|
},
|
|
|
|
|
xuezhou_hp:{
|
|
|
|
|
trigger:{source:'damageEnd',player:'damageEnd'},
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(!_status.xuezhou) return false;
|
|
|
|
|
if(player==_status.xuezhou) return false;
|
|
|
|
|
if(!player.isIn()||!_status.xuezhou.isIn()) return false;
|
|
|
|
|
switch(_status.xuezhou.storage.xuezhou){
|
|
|
|
|
case 1:return player==event.player;
|
|
|
|
|
case 2:return player==event.source;
|
|
|
|
|
default:return false;
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
silent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
game.delayx();
|
|
|
|
|
'step 1'
|
|
|
|
|
_status.xuezhou.logSkill('xuezhou',player);
|
|
|
|
|
player.loseHp();
|
|
|
|
|
if(_status.xuezhou!=trigger.player){
|
|
|
|
|
_status.xuezhou.recover();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fayin:{
|
|
|
|
|
trigger:{player:'shaBegin'},
|
|
|
|
|
direct:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return player.countCards('he')>0;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var target=trigger.target;
|
|
|
|
|
var bool=get.attitude(player,target)<0;
|
|
|
|
|
var next=player.chooseToDiscard('he',get.prompt('fayin',target));
|
|
|
|
|
next.ai=function(card){
|
|
|
|
|
if(bool) return 7-get.value(card);
|
|
|
|
|
return 0;
|
|
|
|
|
};
|
|
|
|
|
next.logSkill=['fayin',target];
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
var target=trigger.target;
|
|
|
|
|
var num=5;
|
|
|
|
|
if(target.isMad()){
|
|
|
|
|
num=4;
|
|
|
|
|
}
|
|
|
|
|
switch(Math.floor(Math.random()*num)){
|
|
|
|
|
case 0:target.randomDiscard(2);break;
|
|
|
|
|
case 1:target.damage('fire');break;
|
|
|
|
|
case 2:player.changeHujia();break;
|
|
|
|
|
case 3:target.turnOver();target.draw();break;
|
|
|
|
|
case 4:target.goMad({player:'phaseBegin'});break;
|
|
|
|
|
}
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gwbaquan:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
filterTarget:function(card,player,target){
|
|
|
|
|
return target!=player&&target.countCards('h')>0;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
var hs=target.getCards('h');
|
|
|
|
|
player.gain(hs,target);
|
|
|
|
|
target.$giveAuto(hs,player);
|
|
|
|
|
event.hs=hs;
|
|
|
|
|
'step 1'
|
|
|
|
|
var damage=(target.hp>=player.hp&&get.damageEffect(target,player,player)>0);
|
|
|
|
|
var hs=event.hs;
|
|
|
|
|
if(damage&&target.hp>1){
|
|
|
|
|
for(var i=0;i<hs.length;i++){
|
|
|
|
|
if(get.value(hs[i],player,'raw')>=8){
|
|
|
|
|
damage=false;break;
|
|
|
|
|
}
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
player.chooseCard(hs.length,true,'选择还给'+get.translation(target)+'的牌').ai=function(card){
|
|
|
|
|
if(damage){
|
|
|
|
|
return hs.contains(card)?1:0;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
return -get.value(card,player,'raw');
|
|
|
|
|
}
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(!event.isMine()) game.delay();
|
|
|
|
|
'step 2'
|
|
|
|
|
target.gain(result.cards,player);
|
|
|
|
|
player.$giveAuto(result.cards,target);
|
|
|
|
|
event.hs2=result.cards;
|
|
|
|
|
if(player.hp>target.hp){
|
|
|
|
|
event.finish();
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
'step 3'
|
|
|
|
|
for(var i=0;i<event.hs2.length;i++){
|
|
|
|
|
if(!event.hs.contains(event.hs2[i])) return;
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
player.line(target);
|
|
|
|
|
target.damage();
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:11,
|
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
|
|
|
|
return -Math.sqrt(target.countCards('h'));
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
hunmo_old:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
filterTarget:function(card,player,target){
|
|
|
|
|
return target.countCards('h')!=Math.min(3,player.hp);
|
|
|
|
|
},
|
|
|
|
|
selectTarget:[1,3],
|
|
|
|
|
content:function(){
|
|
|
|
|
var dh=Math.min(3,player.hp)-target.countCards('h');
|
2017-03-21 09:24:19 +00:00
|
|
|
|
if(dh>0){
|
|
|
|
|
target.draw(dh,false);
|
|
|
|
|
target.$draw(dh);
|
2017-04-15 00:25:50 +00:00
|
|
|
|
game.delay(0.5);
|
2017-03-21 09:24:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if(dh<0){
|
2017-04-15 00:25:50 +00:00
|
|
|
|
target.chooseToDiscard(-dh,true);
|
|
|
|
|
if(player!=target) player.useCard({name:'sha'},target,false);
|
2017-03-21 09:24:19 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:11,
|
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
|
|
|
|
var dh=Math.min(3,player.hp)-target.countCards('h');
|
|
|
|
|
if(dh<0){
|
|
|
|
|
dh+=get.sgn(get.effect(target,{name:'sha'},player,target));
|
|
|
|
|
}
|
|
|
|
|
return dh;
|
|
|
|
|
}
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2017-03-02 16:46:02 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
hunmo_old2:{
|
|
|
|
|
trigger:{player:['phaseBegin','phaseEnd']},
|
|
|
|
|
direct:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
player.chooseTarget(get.prompt('hunmo'),[1,game.countPlayer()],function(card,player,target){
|
|
|
|
|
return target.countCards('h')!=Math.min(3,target.hp);
|
|
|
|
|
}).ai=function(target){
|
|
|
|
|
return get.attitude(player,target)*(Math.min(3,target.hp)-target.countCards('h'));
|
|
|
|
|
}
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
player.logSkill('hunmo',result.targets);
|
|
|
|
|
event.targets=result.targets.slice(0);
|
|
|
|
|
event.targets.sortBySeat();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
event.finish();
|
|
|
|
|
}
|
|
|
|
|
'step 2'
|
|
|
|
|
if(event.targets.length){
|
|
|
|
|
var target=event.targets.shift();
|
|
|
|
|
var dh=Math.min(3,target.hp)-target.countCards('h');
|
|
|
|
|
if(dh>0){
|
|
|
|
|
target.draw(dh,false);
|
|
|
|
|
target.$draw(dh);
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
else if(dh<0){
|
|
|
|
|
target.chooseToDiscard(-dh,true).delay=false;
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
game.delay(0.5);
|
|
|
|
|
event.redo();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
huihun:{
|
|
|
|
|
trigger:{player:'phaseEnd'},
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(!player.storage.huihun) return false;
|
|
|
|
|
for(var i=0;i<player.storage.huihun.length;i++){
|
|
|
|
|
if(get.position(player.storage.huihun[i])=='d') return true;
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return false;
|
2017-03-02 13:06:03 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
frequent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
var list=[];
|
|
|
|
|
for(var i=0;i<player.storage.huihun.length;i++){
|
|
|
|
|
if(get.position(player.storage.huihun[i])=='d'){
|
|
|
|
|
list.push(player.storage.huihun[i]);
|
|
|
|
|
if(list.length>=2) break;
|
|
|
|
|
}
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
player.gain(list,'gain2','log');
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
threaten:1.8,
|
|
|
|
|
},
|
|
|
|
|
group:['huihun_count','huihun_count2'],
|
|
|
|
|
subSkill:{
|
|
|
|
|
count:{
|
|
|
|
|
trigger:{player:'useCard'},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
silent:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return _status.currentPhase==player;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
if(!player.storage.huihun){
|
|
|
|
|
player.storage.huihun=[];
|
|
|
|
|
}
|
|
|
|
|
for(var i=0;i<trigger.cards.length;i++){
|
|
|
|
|
if(get.color(trigger.cards[i])=='red'){
|
|
|
|
|
player.storage.huihun.add(trigger.cards[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
count2:{
|
|
|
|
|
trigger:{player:'phaseAfter'},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
silent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
delete player.storage.huihun;
|
|
|
|
|
}
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-05-13 08:07:06 +00:00
|
|
|
|
lanquan:{
|
2017-04-15 00:25:50 +00:00
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
onChooseToUse:function(event){
|
|
|
|
|
var cards=[];
|
|
|
|
|
var num=6;
|
|
|
|
|
if(ui.cardPile.childNodes.length<num){
|
|
|
|
|
var discardcards=get.cards(num);
|
|
|
|
|
for(var i=0;i<discardcards.length;i++){
|
|
|
|
|
ui.discardPile.appendChild(discardcards[i]);
|
|
|
|
|
}
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
for(var i=0;i<num;i++){
|
|
|
|
|
cards.push(ui.cardPile.childNodes[i]);
|
|
|
|
|
}
|
2017-05-13 08:07:06 +00:00
|
|
|
|
event.set('lanquancards',cards);
|
2017-03-02 13:06:03 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
chooseButton:{
|
|
|
|
|
dialog:function(event,player){
|
2017-05-13 08:07:06 +00:00
|
|
|
|
return ui.create.dialog('权杖:选择一张牌使用',event.lanquancards);
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
filter:function(button,player){
|
|
|
|
|
var evt=_status.event.getParent();
|
|
|
|
|
if(evt&&evt.filterCard){
|
|
|
|
|
var type=get.type(button.link,'trick');
|
2017-05-13 08:07:06 +00:00
|
|
|
|
return evt.filterCard(button.link,player,evt);
|
2017-04-15 00:25:50 +00:00
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
check:function(button){
|
|
|
|
|
return get.value(button.link);
|
|
|
|
|
},
|
|
|
|
|
backup:function(links,player){
|
|
|
|
|
return {
|
|
|
|
|
filterCard:function(){return false},
|
|
|
|
|
selectCard:-1,
|
|
|
|
|
viewAs:links[0],
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
prompt:function(links,player){
|
|
|
|
|
return '选择'+get.translation(links)+'的目标';
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
ai:{
|
|
|
|
|
order:12,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
},
|
|
|
|
|
threaten:1.5
|
2017-03-02 13:06:03 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
2017-05-16 16:52:28 +00:00
|
|
|
|
card:{
|
|
|
|
|
gw_dudayuanshuai1:{
|
|
|
|
|
type:'special',
|
|
|
|
|
fullimage:true,
|
|
|
|
|
derivation:'gw_zhuoertan',
|
|
|
|
|
vanish:true,
|
|
|
|
|
addinfo:'小伙伴',
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
var evt=event.getParent(3)._trigger;
|
|
|
|
|
if(evt.gw_dudayuanshuai1){
|
|
|
|
|
evt.untrigger();
|
|
|
|
|
evt.finish();
|
|
|
|
|
}
|
|
|
|
|
if(evt.cards){
|
|
|
|
|
player.gain(evt.cards,'gain2');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:10,
|
|
|
|
|
useful:9,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
gw_dudayuanshuai2:{
|
|
|
|
|
type:'special',
|
|
|
|
|
fullimage:true,
|
|
|
|
|
derivation:'gw_zhuoertan',
|
|
|
|
|
vanish:true,
|
|
|
|
|
addinfo:'捣蛋鬼',
|
|
|
|
|
},
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
translate:{
|
|
|
|
|
gw_huoge:'霍格',
|
|
|
|
|
gw_aisinie:'埃丝涅',
|
|
|
|
|
gw_gaier:'盖尔',
|
|
|
|
|
gw_enxier:'恩希尔',
|
|
|
|
|
gw_kuite:'奎特',
|
|
|
|
|
gw_dagong:'达贡',
|
|
|
|
|
gw_airuiting:'艾瑞汀',
|
|
|
|
|
gw_fuertaisite:'弗泰斯特',
|
|
|
|
|
gw_falanxisika:'法兰西斯卡',
|
|
|
|
|
gw_haluo:'哈洛',
|
|
|
|
|
gw_hengsaite:'亨赛特',
|
|
|
|
|
gw_kaerweite:'卡尔维特',
|
|
|
|
|
gw_bulanwang:'布兰王',
|
|
|
|
|
gw_fulisi:'符里斯',
|
|
|
|
|
gw_laduoweide:'拉多维德',
|
2017-03-02 13:06:03 +00:00
|
|
|
|
|
2017-04-15 00:25:50 +00:00
|
|
|
|
gw_jieluote:'杰洛特',
|
|
|
|
|
gw_yenaifa:'叶奈法',
|
|
|
|
|
gw_telisi:'特莉斯',
|
|
|
|
|
gw_xili:'希里',
|
|
|
|
|
gw_luoqi:'罗契',
|
|
|
|
|
gw_yioufeisi:'伊欧菲斯',
|
2017-03-02 04:10:18 +00:00
|
|
|
|
|
2017-05-12 15:13:26 +00:00
|
|
|
|
gw_aigeleisi:'艾格蕾斯',
|
|
|
|
|
gw_aokeweisite:'奥克维斯特',
|
|
|
|
|
gw_kaxier:'卡西尔',
|
|
|
|
|
gw_luobo:'萝卜',
|
|
|
|
|
gw_mieren:'米尔恩',
|
|
|
|
|
gw_sanhanya:'三寒鸦',
|
|
|
|
|
gw_shanhu:'珊瑚',
|
|
|
|
|
gw_zhangyujushou:'章鱼巨兽',
|
|
|
|
|
gw_zhuoertan:'卓尔坦',
|
|
|
|
|
|
2017-05-17 06:45:21 +00:00
|
|
|
|
junchi:'骏驰',
|
|
|
|
|
junchi_info:'每当一名其他角色使用一张杀,若目标不是你,你可以对杀的目标使用一张牌,然后摸一张牌;每当一名其他角色使用一张金卡,你可以在此回合结束后获得一个额外回合',
|
|
|
|
|
junchi_old_info:'当一名其他角色使用杀对一个目标结算后,该角色可以交给你一张牌,然后你可以对杀的目标使用一张牌,若如此做,你回复一点体力,杀的使用者摸一张牌',
|
2017-05-16 16:52:28 +00:00
|
|
|
|
gw_dudayuanshuai1:'杜达元帅',
|
|
|
|
|
gw_dudayuanshuai1_info:'当你成为其他角色使用牌的目标时,你可以使用此牌取消之,然后获得对你使用的牌',
|
|
|
|
|
gw_dudayuanshuai2:'杜达元帅',
|
|
|
|
|
gw_dudayuanshuai2_info:'你不能使用、打出或弃置此牌;结束阶段,若此牌在你手牌中,你弃置之并随机弃置一张手牌',
|
|
|
|
|
hupeng:'呼朋',
|
|
|
|
|
hupeng_info:'出牌阶段限一次,你可以弃置一张牌并将一张杜达元帅置入一名角色的手牌',
|
2017-05-13 08:56:28 +00:00
|
|
|
|
shuijian:'水箭',
|
|
|
|
|
shuijian_info:'准备阶段,你可以弃置一张手牌视为对所有敌方角色使用一张万箭齐发',
|
2017-05-13 08:07:06 +00:00
|
|
|
|
yunhuo:'陨火',
|
|
|
|
|
yunhuo_info:'锁定技,准备阶段,若游戏轮数为4的倍数,你令所有敌方角色随机弃置一张手牌(若没有手牌改为受到一点火焰伤害),然后在此回合结束后获得一个额外回合',
|
|
|
|
|
yinzhang:'银杖',
|
|
|
|
|
yinzhang_info:'出牌阶段限一次,你可以弃置一张牌,然后从3张随机亮出的牌中选择一张加入手牌',
|
2017-04-15 00:25:50 +00:00
|
|
|
|
tianbian:'天变',
|
|
|
|
|
tianbian_info:'出牌阶段开始时,你可以选择一项:随机使用一张对全场有正面效果的牌;或随机使用一张对全场有负面效果的牌',
|
|
|
|
|
gwxiaoshou:'枭首',
|
|
|
|
|
gwxiaoshou_info:'出牌阶段限两次,你可以弃置一张牌对场上体力值最高(或之一)的一名角色造成一点伤害',
|
|
|
|
|
kuanglie:'狂猎',
|
|
|
|
|
kuanglie_info:'锁定技,当一名其他角色成为你的黑色牌的目标后,该角色随机弃置一张牌;每当你发动两次“狂猎”,你摸一张牌',
|
|
|
|
|
gwjiquan:'集权',
|
|
|
|
|
gwjiquan_info:'出牌阶段限一次,你可以从任意名角色处各获得一张牌,每拿一张牌,被拿牌的角色视为对你使用一张杀',
|
|
|
|
|
nuhou:'怒吼',
|
|
|
|
|
nuhou_info:'出牌阶段限一次,你可以弃置一张牌,然后所有敌人随机弃置一张牌',
|
|
|
|
|
shewu:'蛇舞',
|
|
|
|
|
shewu_info:'出牌阶段限一次,你可以弃置1至3张牌然后摸3张牌;若你弃置了至少2张牌,你本回合使用卡牌无视距离;若你弃置了3张牌,你回复一点体力',
|
|
|
|
|
gwzhanjiang:'斩将',
|
|
|
|
|
gwzhanjiang_info:'每轮限一次,在一名角色的准备阶段,你可以弃置一张牌,然后所有角色可以对该角色使用一张杀,出杀的角色在响应时摸一张牌,当有至少两名角色响应后停止结算',
|
|
|
|
|
gwchuanxin:'穿心',
|
|
|
|
|
gwchuanxin_info:'你的攻击范围+X,X为你当前体力值;每当你对一名角色使用杀结算完毕后,你可以亮出牌堆顶的一张牌,若为黑色,视为对目标再使用一张杀',
|
|
|
|
|
fengjian:'风剑',
|
|
|
|
|
fengjian_info:'每当你使用一张锦囊牌,你可以视为对一名不是此牌目标的角色使用一张雷杀,若如此做,你获得潜行直到下一回合开始',
|
|
|
|
|
huandie:'幻蝶',
|
|
|
|
|
huandie_info:'准备阶段,你可以摸一张牌,并令任意名其他角色摸两张牌,若如此做,此回合结束时,所有手牌数大于体力值的角色需弃置两张手牌',
|
|
|
|
|
xuezhou:'血咒',
|
|
|
|
|
xuezhou_info:'准备阶段,你可以选择一项效果直到下一回合开始:1. 每当一名其他角色受到一次伤害,该角色失去一点体力,你回复一点体力;2. 每当一名其他角色造成一次伤害,该角色失去一点体力,你(若不是受伤害角色)回复一点体力',
|
|
|
|
|
fayin:'法印',
|
|
|
|
|
fayin_info:'每当你使用一张杀,你可以弃置一张牌并获得一个随机法印效果:1. 目标随机弃置两张牌;2. 目标进入混乱状态直到下一回合开始;3. 对目标造成一点火属性伤害;4. 获得一点护甲;5. 令目标翻面并摸一张牌',
|
|
|
|
|
gwbaquan:'霸权',
|
|
|
|
|
gwbaquan_info:'出牌阶段限一次,你可以获得一名其他角色的所有牌,然后还给其等量的牌,若你归还的牌均为你获得的牌且该角色体力值不小于你,你对其造成一点伤害',
|
|
|
|
|
hunmo:'魂墨',
|
2017-05-15 17:44:43 +00:00
|
|
|
|
hunmo_info:'出牌阶段,你可以令一名手牌数少于2的角色摸一张牌,或令一名手牌数大于2的角色弃置一张手牌,每阶段对除你之外的每名角色最多发动一次,对你最多发动X+1次,X为你本回合对其他角色发动魂墨的次数',
|
2017-04-15 00:25:50 +00:00
|
|
|
|
huihun:'回魂',
|
|
|
|
|
huihun_info:'结束阶段,你可以从弃牌堆中获得本回合使用的前两张红色牌',
|
2017-05-13 08:07:06 +00:00
|
|
|
|
lanquan:'揽权',
|
|
|
|
|
lanquan_backup:'揽权',
|
|
|
|
|
lanquan_info:'出牌阶段限一次,你可以观看牌堆顶的6张牌,并选择一张使用',
|
2017-05-11 09:37:48 +00:00
|
|
|
|
|
|
|
|
|
chaoyong:'潮涌',
|
|
|
|
|
chaoyong_info:'准备阶段,你可以弃置一张牌,视为对所有敌方角色使用一张南蛮入侵或万箭齐发',
|
2017-04-15 00:25:50 +00:00
|
|
|
|
}
|
|
|
|
|
};
|
2017-04-14 23:35:56 +00:00
|
|
|
|
});
|