This commit is contained in:
libccy 2018-02-09 17:49:41 +08:00
parent 98c98c4143
commit 6a5385ae8f
2 changed files with 104 additions and 11 deletions

View File

@ -80,6 +80,68 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gw_yioufeisi:'国王还是乞丐,两者有何区别,人类少一个算一个', gw_yioufeisi:'国王还是乞丐,两者有何区别,人类少一个算一个',
}, },
skill:{ skill:{
jielue:{
trigger:{player:'phaseUseBegin'},
filter:function(event,player){
var list=player.getFriends();
for(var i=0;i<list.length;i++){
var hs=list[i].getCards('h');
for(var j=0;j<hs.length;j++){
if(player.hasUseTarget(hs[j])){
return true;
}
}
}
return false;
},
forced:true,
content:function(){
'step 0'
var list=player.getFriends();
var cards=[];
for(var i=0;i<list.length;i++){
var hs=list[i].getCards('h');
var usables=[];
for(var j=0;j<hs.length;j++){
if(player.hasUseTarget(hs[j])){
usables.push(hs[j]);
}
}
if(usables.length){
cards.push(usables);
}
}
var touse=[];
var owners=[];
for(var i=0;i<2;i++){
if(cards.length){
var card=cards.randomRemove().randomRemove();
var owner=get.owner(card);
owner.lose(card,ui.special);
owner.$give(card,player);
player.line(owner,'green');
touse.push(card);
owners.push(owner);
}
}
event.touse=touse;
event.owners=owners;
'step 1'
game.delayx(1.5);
'step 2'
if(event.touse.length){
player.chooseUseTarget(event.touse.shift(),null,false);
event.redo();
}
'step 3'
game.asyncDraw(event.owners);
'step 4'
game.delay();
},
ai:{
threaten:1.5
}
},
gwmaoxian_hengsaite_sha:{ gwmaoxian_hengsaite_sha:{
trigger:{global:'damageAfter'}, trigger:{global:'damageAfter'},
silent:true, silent:true,
@ -1565,7 +1627,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.gain(game.createCard('gw_shizizhaohuan'),'gain2'); player.gain(game.createCard('gw_shizizhaohuan'),'gain2');
} }
}, },
jielue:{ jielue_old:{
trigger:{player:'useCard'}, trigger:{player:'useCard'},
frequent:true, frequent:true,
oncancel:function(event,player){ oncancel:function(event,player){
@ -1573,13 +1635,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
usable:1, usable:1,
filter:function(event,player){ filter:function(event,player){
return !player.hasSkill('jielue2')&&get.type(event.card)=='basic'; if(event.cards.length.length==1&&event.cards[0]==event.card){
return !player.hasSkill('jielue2')&&get.type(event.card)=='basic'&&!event.card.storage.jielue;
}
return false;
}, },
check:function(event,player){ check:function(event,player){
return get.value(event.card)>3; return get.value(event.card)>3;
}, },
content:function(){ content:function(){
player.gain([game.createCard(trigger.card),game.createCard(trigger.card)],'gain2'); var card1=game.createCard(trigger.card);
var card2=game.createCard(trigger.card);
card1.storage.jielue=true;
card2.storage.jielue=true;
player.gain([card1,card2],'gain2');
}, },
ai:{ ai:{
pretao:true pretao:true
@ -4270,7 +4339,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gwxuezhan:'血战', gwxuezhan:'血战',
gwxuezhan_info:'准备阶段,若你的手牌数为全场最少或之一,你可以获得一张十字召唤', gwxuezhan_info:'准备阶段,若你的手牌数为全场最少或之一,你可以获得一张十字召唤',
jielue:'劫掠', jielue:'劫掠',
jielue_info:'当你于回合内首次使用基本牌时,你可以获得两张该牌的复制', jielue_info:'锁定技,出牌阶段开始时,你从两个随机队友处各获得一张可使用的牌并依次使用之,然后被拿牌的队友摸一张牌',
jielue_old_info:'当你于回合内首次使用基本牌时,你可以获得两张该牌的复制(使用复制的牌时不触发此技能)',
gwfengchi:'风驰', gwfengchi:'风驰',
gwfengchi_info:'锁定技出牌阶段开始时你随机观看3个可以在出牌阶段使用的技能并获得其中一个技能直到此阶段结束', gwfengchi_info:'锁定技出牌阶段开始时你随机观看3个可以在出牌阶段使用的技能并获得其中一个技能直到此阶段结束',
gwjushi:'巨噬', gwjushi:'巨噬',

View File

@ -15260,26 +15260,42 @@
next._args=Array.from(arguments); next._args=Array.from(arguments);
return next; return next;
}, },
chooseUseTarget:function(card,prompt){ chooseUseTarget:function(card,prompt,includecard){
// not online-ready // not online-ready
if(typeof card=='string'){ if(typeof card=='string'){
card={name:card}; card={name:card};
} }
var discard=function(){
if(get.itemtype(card)=='card'&&card.discard){
card.discard();
}
};
var name=card.name; var name=card.name;
var info=lib.card[name]; var info=lib.card[name];
if(!info.enable) return; if(!info.enable){
discard();
return false;
}
var player=this; var player=this;
if(info.selectTarget==-1){ if(get.select(info.selectTarget)[1]==-1){
var targets=game.filterPlayer(function(current){ var targets=game.filterPlayer(function(current){
return lib.filter.filterTarget(card,player,current); return lib.filter.filterTarget(card,player,current);
}); });
if(targets.length){ if(targets.length){
targets.sort(lib.sort.seat); targets.sort(lib.sort.seat);
player.useCard(card,targets); var next=player.useCard(card,targets);
if(includecard===false){
next.addCount=false;
}
return next;
} }
} }
else if(info.notarget){ else if(info.notarget){
player.useCard(card); var next=player.useCard(card);
if(includecard===false){
next.addCount=false;
}
return next;
} }
else if(game.hasPlayer(function(current){ else if(game.hasPlayer(function(current){
return player.canUse(card,current); return player.canUse(card,current);
@ -15298,12 +15314,19 @@
next.onresult=function(result){ next.onresult=function(result){
if(result.bool){ if(result.bool){
if(info.multitarget&&result.targets.length<get.select(info.selectTarget)[0]){ if(info.multitarget&&result.targets.length<get.select(info.selectTarget)[0]){
return; discard();
return false;
} }
player.useCard(card,result.targets); var next=player.useCard(card,result.targets);
if(includecard===false){
next.addCount=false;
}
return next;
} }
} }
} }
discard();
return false;
}, },
chooseTarget:function(){ chooseTarget:function(){
var next=game.createEvent('chooseTarget'); var next=game.createEvent('chooseTarget');