2017-04-14 23:35:56 +00:00
|
|
|
|
'use strict';
|
2017-04-17 05:18:46 +00:00
|
|
|
|
game.import('card',function(lib,game,ui,get,ai,_status){
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return {
|
|
|
|
|
name:'extra',
|
|
|
|
|
connect:true,
|
|
|
|
|
card:{
|
2019-09-20 15:10:34 +00:00
|
|
|
|
muniu:{
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'equip',
|
|
|
|
|
subtype:'equip5',
|
|
|
|
|
nomod:true,
|
|
|
|
|
onEquip:function(){
|
|
|
|
|
player.markSkill('muniu_skill6');
|
|
|
|
|
},
|
|
|
|
|
forceDie:true,
|
|
|
|
|
onLose:function(){
|
|
|
|
|
player.unmarkSkill('muniu_skill6');
|
|
|
|
|
if((event.getParent(2)&&event.getParent(2).name!='swapEquip')&&event.parent.type!='equip'&&card&&card.cards&&card.cards.length){
|
|
|
|
|
player.$throw(card.cards,1000);
|
|
|
|
|
player.popup('muniu');
|
|
|
|
|
game.log(card,'掉落了',card.cards);
|
2020-03-05 13:10:37 +00:00
|
|
|
|
game.cardsDiscard(card.cards);
|
|
|
|
|
card.cards.length=0;
|
2019-09-20 15:10:34 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
clearLose:true,
|
|
|
|
|
equipDelay:false,
|
|
|
|
|
loseDelay:false,
|
|
|
|
|
skills:['muniu_skill','muniu_skill2','muniu_skill6','muniu_skill7'],
|
|
|
|
|
ai:{
|
|
|
|
|
equipValue:function(card){
|
|
|
|
|
if(card.card) return 7+card.card.length;
|
|
|
|
|
return 7;
|
|
|
|
|
},
|
|
|
|
|
basic:{
|
|
|
|
|
equipValue:7
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
jiu:{
|
|
|
|
|
audio:true,
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:"basic",
|
2017-07-06 16:25:54 +00:00
|
|
|
|
toself:true,
|
2017-04-15 00:25:50 +00:00
|
|
|
|
enable:function(event,player){
|
2019-06-17 07:19:46 +00:00
|
|
|
|
//return !player.hasSkill('jiu');
|
|
|
|
|
return true;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
lianheng:true,
|
|
|
|
|
logv:false,
|
|
|
|
|
savable:function(card,player,dying){
|
|
|
|
|
return dying==player;
|
|
|
|
|
},
|
|
|
|
|
usable:1,
|
|
|
|
|
selectTarget:-1,
|
|
|
|
|
modTarget:true,
|
|
|
|
|
filterTarget:function(card,player,target){
|
|
|
|
|
return target==player;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
2020-05-16 05:03:13 +00:00
|
|
|
|
if(typeof event.baseDamage!='number') event.baseDamage=1;
|
2020-03-05 13:10:37 +00:00
|
|
|
|
if(target.isDying()||event.getParent(2).type=='dying'){
|
2020-05-16 05:03:13 +00:00
|
|
|
|
target.recover(event.baseDamage);
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(_status.currentPhase==target){
|
|
|
|
|
target.getStat().card.jiu--;
|
2016-04-04 11:20:05 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
}
|
|
|
|
|
else{
|
2020-02-06 11:51:46 +00:00
|
|
|
|
game.addVideo('jiuNode',target,true);
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(cards&&cards.length){
|
|
|
|
|
card=cards[0];
|
2016-04-04 11:20:05 +00:00
|
|
|
|
}
|
2019-08-13 04:37:11 +00:00
|
|
|
|
if(!target.storage.jiu) target.storage.jiu=0;
|
2020-05-16 05:03:13 +00:00
|
|
|
|
target.storage.jiu+=event.baseDamage;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
game.broadcastAll(function(target,card,gain2){
|
|
|
|
|
target.addSkill('jiu');
|
|
|
|
|
if(!target.node.jiu&&lib.config.jiu_effect){
|
|
|
|
|
target.node.jiu=ui.create.div('.playerjiu',target.node.avatar);
|
|
|
|
|
target.node.jiu2=ui.create.div('.playerjiu',target.node.avatar2);
|
|
|
|
|
}
|
|
|
|
|
if(gain2&&card.clone&&(card.clone.parentNode==target.parentNode||card.clone.parentNode==ui.arena)){
|
|
|
|
|
card.clone.moveDelete(target);
|
|
|
|
|
}
|
2019-06-17 07:19:46 +00:00
|
|
|
|
},target,card,target==targets[0]&&cards.length==1);
|
|
|
|
|
if(target==targets[0]&&cards.length==1){
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(card.clone&&(card.clone.parentNode==target.parentNode||card.clone.parentNode==ui.arena)){
|
|
|
|
|
game.addVideo('gain2',target,get.cardsInfo([card]));
|
|
|
|
|
}
|
2016-05-11 15:50:00 +00:00
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
basic:{
|
|
|
|
|
useful:function(card,i){
|
|
|
|
|
if(_status.event.player.hp>1){
|
2017-07-20 00:52:37 +00:00
|
|
|
|
if(i==0) return 4;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
if(i==0) return 7.3;
|
|
|
|
|
return 3;
|
|
|
|
|
},
|
|
|
|
|
value:function(card,player,i){
|
|
|
|
|
if(player.hp>1){
|
|
|
|
|
if(i==0) return 5;
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
if(i==0) return 7.3;
|
|
|
|
|
return 3;
|
|
|
|
|
},
|
2015-11-06 10:05:08 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
order:function(){
|
|
|
|
|
return get.order({name:'sha'})+0.2;
|
2015-11-06 10:05:08 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
|
|
|
|
if(target&&target.isDying()) return 2;
|
2019-08-13 04:37:11 +00:00
|
|
|
|
if(target&&!target.isPhaseUsing()) return 0;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(lib.config.mode=='stone'&&!player.isMin()){
|
|
|
|
|
if(player.getActCount()+1>=player.actcount) return 0;
|
|
|
|
|
}
|
|
|
|
|
var shas=player.getCards('h','sha');
|
2020-03-13 10:02:18 +00:00
|
|
|
|
if(shas.length>1&&(player.getCardUsable('sha')>1||player.countCards('h','zhuge'))){
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return 0;
|
|
|
|
|
}
|
2020-03-25 12:27:23 +00:00
|
|
|
|
shas.sort(function(a,b){
|
|
|
|
|
return get.order(b)-get.order(a);
|
|
|
|
|
})
|
2017-04-15 00:25:50 +00:00
|
|
|
|
var card;
|
|
|
|
|
if(shas.length){
|
|
|
|
|
for(var i=0;i<shas.length;i++){
|
|
|
|
|
if(lib.filter.filterCard(shas[i],target)){
|
|
|
|
|
card=shas[i];break;
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
else if(player.hasSha()&&player.needsToDiscard()){
|
|
|
|
|
if(player.countCards('h','hufu')!=1){
|
|
|
|
|
card={name:'sha'};
|
|
|
|
|
}
|
2017-02-12 15:59:52 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(card){
|
|
|
|
|
if(game.hasPlayer(function(current){
|
|
|
|
|
return (get.attitude(target,current)<0&&
|
|
|
|
|
target.canUse(card,current,true,true)&&
|
2020-02-14 05:33:43 +00:00
|
|
|
|
!current.hasSkillTag('filterDamage',null,{
|
|
|
|
|
player:player,
|
|
|
|
|
card:card,
|
2020-03-23 09:11:24 +00:00
|
|
|
|
jiu:true,
|
2020-02-14 05:33:43 +00:00
|
|
|
|
})&&
|
2017-04-15 00:25:50 +00:00
|
|
|
|
get.effect(current,card,target)>0);
|
|
|
|
|
})){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return 0;
|
|
|
|
|
},
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
tag:{
|
|
|
|
|
save:1
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
huogong:{
|
|
|
|
|
audio:true,
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'trick',
|
|
|
|
|
enable:true,
|
2017-05-06 17:25:44 +00:00
|
|
|
|
cardnature:'fire',
|
2017-04-15 00:25:50 +00:00
|
|
|
|
filterTarget:function(card,player,target){
|
|
|
|
|
if(player!=game.me&&player.countCards('h')<2) return false;
|
|
|
|
|
return target.countCards('h')>0;
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
content:function(){
|
|
|
|
|
"step 0"
|
|
|
|
|
if(target.countCards('h')==0){
|
|
|
|
|
event.finish();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
target.chooseCard(true).ai=function(card){
|
2017-05-22 01:09:03 +00:00
|
|
|
|
if(_status.event.getRand()<0.5) return Math.random();
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return get.value(card);
|
|
|
|
|
};
|
|
|
|
|
"step 1"
|
|
|
|
|
event.dialog=ui.create.dialog(get.translation(target)+'展示的手牌',result.cards);
|
|
|
|
|
event.videoId=lib.status.videoId++;
|
|
|
|
|
|
|
|
|
|
game.broadcast('createDialog',event.videoId,get.translation(target)+'展示的手牌',result.cards);
|
|
|
|
|
game.addVideo('cardDialog',null,[get.translation(target)+'展示的手牌',get.cardsInfo(result.cards),event.videoId]);
|
|
|
|
|
event.card2=result.cards[0];
|
|
|
|
|
game.log(target,'展示了',event.card2);
|
2020-02-08 03:39:33 +00:00
|
|
|
|
event._result={};
|
2017-04-15 00:25:50 +00:00
|
|
|
|
player.chooseToDiscard({suit:get.suit(event.card2)},function(card){
|
|
|
|
|
var evt=_status.event.getParent();
|
|
|
|
|
if(get.damageEffect(evt.target,evt.player,evt.player,'fire')>0){
|
|
|
|
|
return 7-get.value(card,evt.player);
|
|
|
|
|
}
|
|
|
|
|
return -1;
|
|
|
|
|
}).prompt=false;
|
|
|
|
|
game.delay(2);
|
|
|
|
|
"step 2"
|
|
|
|
|
if(result.bool){
|
|
|
|
|
target.damage('fire');
|
|
|
|
|
}
|
|
|
|
|
else{
|
2017-05-18 22:15:32 +00:00
|
|
|
|
target.addTempSkill('huogong2');
|
2017-04-15 00:25:50 +00:00
|
|
|
|
}
|
|
|
|
|
event.dialog.close();
|
|
|
|
|
game.addVideo('cardDialog',null,event.videoId);
|
|
|
|
|
game.broadcast('closeDialog',event.videoId);
|
2015-11-16 01:59:54 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
ai:{
|
|
|
|
|
basic:{
|
|
|
|
|
order:4,
|
|
|
|
|
value:[3,1],
|
|
|
|
|
useful:1,
|
|
|
|
|
},
|
|
|
|
|
wuxie:function(target,card,player,current,state){
|
|
|
|
|
if(get.attitude(current,player)>=0&&state>0) return false;
|
|
|
|
|
},
|
|
|
|
|
result:{
|
|
|
|
|
player:function(player){
|
|
|
|
|
var nh=player.countCards('h');
|
|
|
|
|
if(nh<=player.hp&&nh<=4&&_status.event.name=='chooseToUse'){
|
|
|
|
|
if(typeof _status.event.filterCard=='function'&&
|
2019-12-30 05:02:34 +00:00
|
|
|
|
_status.event.filterCard({name:'huogong'},player,_status.event)){
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return -10;
|
|
|
|
|
}
|
|
|
|
|
if(_status.event.skill){
|
|
|
|
|
var viewAs=get.info(_status.event.skill).viewAs;
|
|
|
|
|
if(viewAs=='huogong') return -10;
|
|
|
|
|
if(viewAs&&viewAs.name=='huogong') return -10;
|
|
|
|
|
}
|
2015-05-05 09:23:31 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return 0;
|
|
|
|
|
},
|
|
|
|
|
target:function(player,target){
|
|
|
|
|
if(target.hasSkill('huogong2')||target.countCards('h')==0) return 0;
|
|
|
|
|
if(player.countCards('h')<=1) return 0;
|
|
|
|
|
if(target==player){
|
|
|
|
|
if(typeof _status.event.filterCard=='function'&&
|
2019-12-30 05:02:34 +00:00
|
|
|
|
_status.event.filterCard({name:'huogong'},player,_status.event)){
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return -1.5;
|
|
|
|
|
}
|
|
|
|
|
if(_status.event.skill){
|
|
|
|
|
var viewAs=get.info(_status.event.skill).viewAs;
|
|
|
|
|
if(viewAs=='huogong') return -1.5;
|
|
|
|
|
if(viewAs&&viewAs.name=='huogong') return -1.5;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
2015-05-05 09:23:31 +00:00
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return -1.5;
|
2015-05-03 15:17:15 +00:00
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
tag:{
|
|
|
|
|
damage:1,
|
|
|
|
|
fireDamage:1,
|
|
|
|
|
natureDamage:1,
|
|
|
|
|
norepeat:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
tiesuo:{
|
|
|
|
|
audio:true,
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'trick',
|
|
|
|
|
enable:true,
|
|
|
|
|
filterTarget:true,
|
|
|
|
|
selectTarget:[1,2],
|
2019-09-13 13:35:44 +00:00
|
|
|
|
complexTarget:true,
|
2017-04-15 00:25:50 +00:00
|
|
|
|
content:function(){
|
|
|
|
|
target.link();
|
|
|
|
|
},
|
|
|
|
|
chongzhu:true,
|
|
|
|
|
ai:{
|
2020-04-18 05:32:41 +00:00
|
|
|
|
wuxie:function(target,card,player,viewer){
|
2019-06-07 03:46:13 +00:00
|
|
|
|
if(_status.event.getRand()<0.5) return 0;
|
2020-04-18 05:32:41 +00:00
|
|
|
|
if(player==game.me&&get.attitude(viewer,player)>0){
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
basic:{
|
|
|
|
|
useful:4,
|
|
|
|
|
value:4,
|
|
|
|
|
order:7
|
|
|
|
|
},
|
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
2018-01-05 04:46:56 +00:00
|
|
|
|
if(target.isLinked()){
|
|
|
|
|
if(target.hasSkillTag('link')) return 0;
|
|
|
|
|
var f=target.hasSkillTag('nofire');
|
|
|
|
|
var t=target.hasSkillTag('nothunder');
|
|
|
|
|
if(f&&t) return 0;
|
|
|
|
|
if(f||t) return 0.5;
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
2017-11-12 22:15:04 +00:00
|
|
|
|
if(get.attitude(player,target)>=0) return -0.9;
|
|
|
|
|
if(ui.selected.targets.length) return -0.9;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(game.hasPlayer(function(current){
|
|
|
|
|
return get.attitude(player,current)<=-1&¤t!=target&&!current.isLinked();
|
|
|
|
|
})){
|
2017-11-12 22:15:04 +00:00
|
|
|
|
return -0.9;
|
2015-06-27 16:21:25 +00:00
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
tag:{
|
|
|
|
|
multitarget:1,
|
|
|
|
|
multineg:1,
|
|
|
|
|
norepeat:1
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
bingliang:{
|
|
|
|
|
audio:true,
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'delay',
|
|
|
|
|
range:{global:1},
|
|
|
|
|
filterTarget:function(card,player,target){
|
|
|
|
|
return (lib.filter.judge(card,player,target)&&player!=target);
|
2015-05-01 06:16:03 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
judge:function(card){
|
|
|
|
|
if(get.suit(card)=='club') return 0;
|
|
|
|
|
return -3;
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
effect:function(){
|
|
|
|
|
if(result.bool==false){
|
2019-11-14 05:47:38 +00:00
|
|
|
|
if(get.is.changban()) player.addTempSkill('bingliang_changban');
|
|
|
|
|
else player.skip('phaseDraw');
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
ai:{
|
|
|
|
|
basic:{
|
|
|
|
|
order:1,
|
|
|
|
|
useful:1,
|
|
|
|
|
value:4,
|
|
|
|
|
},
|
|
|
|
|
result:{
|
|
|
|
|
target:function(player,target){
|
2017-05-07 07:22:55 +00:00
|
|
|
|
if(target.hasJudge('caomu')) return 0;
|
|
|
|
|
return -1.5/Math.sqrt(target.countCards('h')+1);
|
2017-04-15 00:25:50 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
tag:{
|
|
|
|
|
skip:'phaseDraw'
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
hualiu:{
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'equip',
|
|
|
|
|
subtype:'equip3',
|
|
|
|
|
distance:{globalTo:1},
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
zhuque:{
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'equip',
|
|
|
|
|
subtype:'equip1',
|
2017-05-06 17:25:44 +00:00
|
|
|
|
cardnature:'fire',
|
2017-04-15 00:25:50 +00:00
|
|
|
|
distance:{attackFrom:-3},
|
|
|
|
|
ai:{
|
|
|
|
|
basic:{
|
|
|
|
|
equipValue:2
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
skills:['zhuque_skill']
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
guding:{
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'equip',
|
|
|
|
|
subtype:'equip1',
|
|
|
|
|
distance:{attackFrom:-1},
|
|
|
|
|
ai:{
|
|
|
|
|
basic:{
|
|
|
|
|
equipValue:2
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
skills:['guding_skill']
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
tengjia:{
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'equip',
|
|
|
|
|
subtype:'equip2',
|
2017-05-06 17:25:44 +00:00
|
|
|
|
cardnature:'fire',
|
2017-04-15 00:25:50 +00:00
|
|
|
|
ai:{
|
2017-05-22 03:18:10 +00:00
|
|
|
|
equipValue:function(card,player){
|
|
|
|
|
if(player.hasSkillTag('maixie')&&player.hp>1) return 0;
|
|
|
|
|
if(player.hasSkillTag('noDirectDamage')) return 10;
|
|
|
|
|
if(get.damageEffect(player,player,player,'fire')>=0) return 10;
|
|
|
|
|
var num=3-game.countPlayer(function(current){
|
|
|
|
|
return get.attitude(current,player)<0;
|
|
|
|
|
});
|
|
|
|
|
if(player.hp==1) num+=4;
|
|
|
|
|
if(player.hp==2) num+=1;
|
|
|
|
|
if(player.hp==3) num--;
|
|
|
|
|
if(player.hp>3) num-=4;
|
|
|
|
|
return num;
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
basic:{
|
2017-05-22 03:18:10 +00:00
|
|
|
|
equipValue:3
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
},
|
2019-06-17 07:19:46 +00:00
|
|
|
|
skills:['tengjia1','tengjia2','tengjia3']
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
baiyin:{
|
|
|
|
|
fullskin:true,
|
|
|
|
|
type:'equip',
|
|
|
|
|
subtype:'equip2',
|
2020-03-27 05:30:48 +00:00
|
|
|
|
loseDelay:false,
|
2017-04-15 00:25:50 +00:00
|
|
|
|
onLose:function(){
|
2020-03-27 05:30:48 +00:00
|
|
|
|
if(player.isDamaged()) player.logSkill('baiyin_skill');
|
|
|
|
|
var next=game.createEvent('baiyin_recover');
|
|
|
|
|
event.next.remove(next);
|
|
|
|
|
event.getParent().after.push(next);
|
|
|
|
|
next.player=player;
|
|
|
|
|
next.setContent(function(){
|
|
|
|
|
player.recover();
|
|
|
|
|
});
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
filterLose:function(card,player){
|
2019-11-14 05:47:38 +00:00
|
|
|
|
if(player.hasSkillTag('unequip2')) return false;
|
2020-03-27 05:30:48 +00:00
|
|
|
|
return true;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
skills:['baiyin_skill'],
|
|
|
|
|
tag:{
|
|
|
|
|
recover:1,
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:9.5,
|
2017-05-22 03:18:10 +00:00
|
|
|
|
equipValue:function(card,player){
|
|
|
|
|
if(player.hp==player.maxHp) return 5;
|
|
|
|
|
if(player.countCards('h','baiyin')) return 6;
|
|
|
|
|
return 0;
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
basic:{
|
2017-05-22 03:18:10 +00:00
|
|
|
|
equipValue:5
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
skill:{
|
2019-11-14 05:47:38 +00:00
|
|
|
|
bingliang_changban:{
|
|
|
|
|
cardSkill:true,
|
|
|
|
|
unique:true,
|
|
|
|
|
trigger:{player:'phaseDrawBegin'},
|
|
|
|
|
silent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
trigger.num--;
|
|
|
|
|
},
|
|
|
|
|
group:'bingliang_changban2'
|
|
|
|
|
},
|
|
|
|
|
bingliang_changban2:{
|
|
|
|
|
cardSkill:true,
|
|
|
|
|
trigger:{player:'phaseDrawAfter'},
|
|
|
|
|
silent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
if(player.enemy) player.enemy.draw();
|
|
|
|
|
}
|
|
|
|
|
},
|
2019-09-20 15:10:34 +00:00
|
|
|
|
muniu_skill:{
|
2019-11-14 05:47:38 +00:00
|
|
|
|
equipSkill:true,
|
2019-09-20 15:10:34 +00:00
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
filterCard:true,
|
|
|
|
|
check:function(card){
|
|
|
|
|
if(card.name=='du') return 20;
|
|
|
|
|
var player=_status.event.player;
|
|
|
|
|
var nh=player.countCards('h');
|
|
|
|
|
if(!player.needsToDiscard()){
|
|
|
|
|
if(nh<3) return 0;
|
|
|
|
|
if(nh==3) return 5-get.value(card);
|
|
|
|
|
return 7-get.value(card);
|
|
|
|
|
}
|
|
|
|
|
return 10-get.useful(card);
|
|
|
|
|
},
|
|
|
|
|
discard:false,
|
|
|
|
|
lose:true,
|
2019-11-22 05:15:05 +00:00
|
|
|
|
toStorage:true,
|
2019-09-20 15:10:34 +00:00
|
|
|
|
sync:function(muniu){
|
|
|
|
|
if(game.online){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if(!muniu.cards){
|
|
|
|
|
muniu.cards=[];
|
|
|
|
|
}
|
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
|
|
|
|
if(!muniu.cards[i].parentNode||muniu.cards[i].parentNode.id!='special'){
|
|
|
|
|
muniu.cards.splice(i--,1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
game.broadcast(function(muniu,cards){
|
|
|
|
|
muniu.cards=cards;
|
|
|
|
|
},muniu,muniu.cards);
|
|
|
|
|
},
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return player.countCards('h')>0;
|
|
|
|
|
},
|
|
|
|
|
prepare:function(cards,player){
|
|
|
|
|
player.$give(1,player,false);
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
"step 0"
|
|
|
|
|
for(var i=0;i<cards.length;i++){
|
|
|
|
|
if(!cards[i].destroyed){
|
|
|
|
|
ui.special.appendChild(cards[i]);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
cards[i].remove();
|
|
|
|
|
cards.splice(i--,1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
var muniu=player.getEquip(5);
|
|
|
|
|
if(!muniu||!cards.length){
|
|
|
|
|
for(var i=0;i<cards.length;i++){
|
|
|
|
|
cards[i].discard();
|
|
|
|
|
}
|
|
|
|
|
event.finish();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if(muniu.cards==undefined) muniu.cards=[];
|
|
|
|
|
muniu.cards.push(cards[0]);
|
|
|
|
|
game.broadcast(function(muniu,cards){
|
|
|
|
|
muniu.cards=cards;
|
|
|
|
|
},muniu,muniu.cards);
|
|
|
|
|
var players=game.filterPlayer(function(current){
|
|
|
|
|
if(!current.getEquip(5)&¤t!=player&&!current.isTurnedOver()&&
|
|
|
|
|
get.attitude(player,current)>=3&&get.attitude(current,player)>=3){
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
players.sort(lib.sort.seat);
|
|
|
|
|
var choice=players[0];
|
|
|
|
|
var next=player.chooseTarget('是否移动木牛流马?',function(card,player,target){
|
|
|
|
|
return !target.isMin()&&player!=target&&target.isEmpty(5);
|
|
|
|
|
});
|
|
|
|
|
next.set('ai',function(target){
|
|
|
|
|
return target==_status.event.choice?1:-1;
|
|
|
|
|
});
|
|
|
|
|
next.set('choice',choice);
|
|
|
|
|
"step 1"
|
|
|
|
|
if(result.bool){
|
|
|
|
|
var card=player.getEquip(5);
|
|
|
|
|
result.targets[0].equip(card);
|
|
|
|
|
player.$give(card,result.targets[0]);
|
|
|
|
|
player.line(result.targets,'green');
|
|
|
|
|
game.delay();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
player.updateMarks();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
save:true,
|
|
|
|
|
respondSha:true,
|
|
|
|
|
respondShan:true,
|
|
|
|
|
skillTagFilter:function(player,tag){
|
|
|
|
|
var muniu=player.getEquip(5);
|
|
|
|
|
if(!muniu||!muniu.cards) return false;
|
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
|
|
|
|
switch(tag){
|
|
|
|
|
case 'respondSha':if(muniu.cards[i].name=='sha') return true;break;
|
|
|
|
|
case 'respondShan':if(muniu.cards[i].name=='shan') return true;break;
|
|
|
|
|
case 'save':{
|
|
|
|
|
if(muniu.cards[i].name=='tao'||muniu.cards[i].name=='spell_zhiliaoshui') return true;
|
|
|
|
|
if(player==_status.event.dying){
|
|
|
|
|
if(muniu.cards[i].name=='jiu'||muniu.cards[i].name=='tianxianjiu') return true;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
order:1,
|
|
|
|
|
expose:0.1,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
muniu_skill2:{
|
|
|
|
|
group:['muniu_skill3','muniu_skill4']
|
|
|
|
|
},
|
|
|
|
|
muniu_skill3:{
|
|
|
|
|
trigger:{player:'chooseToRespondBegin'},
|
2019-12-05 15:05:56 +00:00
|
|
|
|
cardSkill:true,
|
2019-09-20 15:10:34 +00:00
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(event.responded) return false;
|
|
|
|
|
var muniu=player.getEquip(5);
|
|
|
|
|
if(!muniu.cards) return false;
|
|
|
|
|
lib.skill.muniu_skill.sync(muniu);
|
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
|
|
|
|
if(event.filterCard(muniu.cards[i],player,event)&&lib.filter.cardRespondable(muniu.cards[i],player,event)) return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
direct:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
"step 0"
|
|
|
|
|
player.chooseButton(['木牛流马',player.getEquip(5).cards]).set('filterButton',function(button){
|
|
|
|
|
var evt=_status.event.getTrigger();
|
|
|
|
|
if(evt&&evt.filterCard){
|
|
|
|
|
return evt.filterCard(button.link,_status.event.player,evt)&&lib.filter.cardRespondable(button.link,_status.event.player,evt);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}).set('ai',function(button){
|
|
|
|
|
var evt=_status.event.getTrigger();
|
|
|
|
|
if(evt&&evt.ai){
|
|
|
|
|
var tmp=_status.event;
|
|
|
|
|
_status.event=evt;
|
|
|
|
|
var result=evt.ai(button.link,_status.event.player,evt);
|
|
|
|
|
_status.event=tmp;
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
return 1;
|
|
|
|
|
});
|
|
|
|
|
"step 1"
|
|
|
|
|
if(result.bool){
|
|
|
|
|
trigger.untrigger();
|
|
|
|
|
trigger.responded=true;
|
2019-10-31 04:40:01 +00:00
|
|
|
|
trigger.result={bool:true,card:result.links[0],cards:result.links.slice(0)};
|
2019-09-20 15:10:34 +00:00
|
|
|
|
var muniu=player.getEquip(5);
|
|
|
|
|
muniu.cards.remove(result.links[0]);
|
|
|
|
|
lib.skill.muniu_skill.sync(muniu);
|
|
|
|
|
player.updateMarks();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
order:4,
|
|
|
|
|
useful:-1,
|
|
|
|
|
value:-1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
muniu_skill4:{
|
|
|
|
|
enable:'chooseToUse',
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
var muniu=player.getEquip(5);
|
|
|
|
|
if(!muniu.cards) return false;
|
|
|
|
|
lib.skill.muniu_skill.sync(muniu);
|
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
2019-12-30 05:02:34 +00:00
|
|
|
|
if(event.filterCard(muniu.cards[i],player,event)) return true;
|
2019-09-20 15:10:34 +00:00
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
chooseButton:{
|
|
|
|
|
dialog:function(event,player){
|
|
|
|
|
return ui.create.dialog('木牛流马',player.getEquip(5).cards,'hidden');
|
|
|
|
|
},
|
|
|
|
|
filter:function(button,player){
|
|
|
|
|
var evt=_status.event.getParent();
|
|
|
|
|
if(evt&&evt.filterCard){
|
|
|
|
|
return evt.filterCard(button.link,player,evt);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
},
|
|
|
|
|
check:function(button){
|
2020-04-25 05:40:05 +00:00
|
|
|
|
if(button.link.name=='du') return 10;
|
2019-09-20 15:10:34 +00:00
|
|
|
|
var player=_status.event.player;
|
2020-04-25 05:40:05 +00:00
|
|
|
|
if(player.getUseValue(button.link)>0) return get.order(button.link);
|
|
|
|
|
return -1;
|
2019-09-20 15:10:34 +00:00
|
|
|
|
},
|
|
|
|
|
backup:function(links,player){
|
|
|
|
|
return {
|
2019-12-30 05:02:34 +00:00
|
|
|
|
prompt:'选择'+get.translation(links)+'的目标',
|
2019-09-20 15:10:34 +00:00
|
|
|
|
filterCard:function(){return false},
|
|
|
|
|
selectCard:-1,
|
|
|
|
|
viewAs:links[0],
|
|
|
|
|
onuse:function(result,player){
|
|
|
|
|
var muniu=player.getEquip(5);
|
|
|
|
|
if(muniu&&muniu.cards){
|
|
|
|
|
muniu.cards.remove(result.card);
|
|
|
|
|
lib.skill.muniu_skill.sync(muniu);
|
|
|
|
|
}
|
|
|
|
|
player.updateMarks();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
2020-04-25 05:40:05 +00:00
|
|
|
|
order:function(item,player){
|
|
|
|
|
var event=_status.event;
|
|
|
|
|
if(event.type!='phase') return 4;
|
|
|
|
|
if(!player) return -1;
|
|
|
|
|
var muniu=player.getEquip('muniu');
|
|
|
|
|
if(!muniu||!muniu.cards) return -1;
|
|
|
|
|
var order=0;
|
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
|
|
|
|
if(player.getUseValue(muniu.cards[i])>0){
|
|
|
|
|
var order2=get.order(muniu.cards[i]);
|
|
|
|
|
if(order2>order) order=order2
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return order+0.1;
|
|
|
|
|
},
|
2019-09-20 15:10:34 +00:00
|
|
|
|
result:{
|
|
|
|
|
player:function(player){
|
|
|
|
|
if(_status.event.dying) return get.attitude(player,_status.event.dying);
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
useful:-1,
|
|
|
|
|
value:-1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
muniu_skill6:{
|
|
|
|
|
mark:true,
|
|
|
|
|
intro:{
|
|
|
|
|
content:function(storage,player){
|
|
|
|
|
var muniu=player.getEquip(5);
|
|
|
|
|
if(!muniu||!muniu.cards||!muniu.cards.length) return '共有〇张牌';
|
|
|
|
|
if(player.isUnderControl(true)){
|
|
|
|
|
return get.translation(muniu.cards);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
return '共有'+get.cnNumber(muniu.cards.length)+'张牌';
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mark:function(dialog,storage,player){
|
|
|
|
|
var muniu=player.getEquip(5);
|
|
|
|
|
if(!muniu||!muniu.cards||!muniu.cards.length) return '共有〇张牌';
|
|
|
|
|
if(player.isUnderControl(true)){
|
|
|
|
|
dialog.addAuto(muniu.cards);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
return '共有'+get.cnNumber(muniu.cards.length)+'张牌';
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
markcount:function(storage,player){
|
|
|
|
|
var muniu=player.getEquip(5);
|
|
|
|
|
if(muniu&&muniu.cards) return muniu.cards.length;
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
muniu_skill7:{
|
|
|
|
|
filter:function(){return false},
|
|
|
|
|
hiddenCard:function(player,name){
|
|
|
|
|
var muniu=player.getEquip(5);
|
|
|
|
|
if(!muniu.cards) return false;
|
|
|
|
|
lib.skill.muniu_skill.sync(muniu);
|
|
|
|
|
for(var i=0;i<muniu.cards.length;i++){
|
|
|
|
|
if(muniu.cards[i].name==name) return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
huogong2:{},
|
|
|
|
|
jiu:{
|
2020-02-06 11:51:46 +00:00
|
|
|
|
trigger:{player:'useCard1'},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
filter:function(event){
|
2019-06-17 07:19:46 +00:00
|
|
|
|
return event.card&&event.card.name=='sha';
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
forced:true,
|
2020-02-06 11:51:46 +00:00
|
|
|
|
charlotte:true,
|
|
|
|
|
firstDo:true,
|
2017-04-15 00:25:50 +00:00
|
|
|
|
content:function(){
|
2019-06-17 07:19:46 +00:00
|
|
|
|
if(!trigger.baseDamage) trigger.baseDamage=1;
|
|
|
|
|
trigger.baseDamage+=player.storage.jiu;
|
2019-10-19 11:18:56 +00:00
|
|
|
|
trigger.jiu=true;
|
2020-03-13 10:02:18 +00:00
|
|
|
|
trigger.jiu_add=player.storage.jiu;
|
2020-01-22 06:04:55 +00:00
|
|
|
|
game.addVideo('jiuNode',player,false);
|
2019-06-17 07:19:46 +00:00
|
|
|
|
game.broadcastAll(function(player){
|
|
|
|
|
player.removeSkill('jiu');
|
|
|
|
|
},player);
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
temp:true,
|
2017-05-07 17:47:09 +00:00
|
|
|
|
vanish:true,
|
2019-06-17 07:19:46 +00:00
|
|
|
|
silent:true,
|
|
|
|
|
popup:false,
|
2017-04-15 05:47:45 +00:00
|
|
|
|
onremove:function(player){
|
|
|
|
|
if(player.node.jiu){
|
|
|
|
|
player.node.jiu.delete();
|
|
|
|
|
player.node.jiu2.delete();
|
|
|
|
|
delete player.node.jiu;
|
|
|
|
|
delete player.node.jiu2;
|
|
|
|
|
}
|
2019-06-17 07:19:46 +00:00
|
|
|
|
delete player.storage.jiu;
|
2017-04-15 05:47:45 +00:00
|
|
|
|
},
|
2017-11-30 08:32:57 +00:00
|
|
|
|
ai:{
|
|
|
|
|
damageBonus:true
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
group:'jiu2'
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
jiu2:{
|
|
|
|
|
trigger:{player:'useCardAfter',global:'phaseAfter'},
|
|
|
|
|
priority:2,
|
2020-02-06 11:51:46 +00:00
|
|
|
|
firstDo:true,
|
|
|
|
|
charlotte:true,
|
2017-04-15 00:25:50 +00:00
|
|
|
|
filter:function(event){
|
|
|
|
|
if(event.name=='useCard') return (event.card&&(event.card.name=='sha'));
|
|
|
|
|
return true;
|
|
|
|
|
},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
audio:false,
|
|
|
|
|
content:function(){
|
|
|
|
|
game.broadcastAll(function(player){
|
|
|
|
|
player.removeSkill('jiu');
|
|
|
|
|
},player);
|
2020-01-22 06:04:55 +00:00
|
|
|
|
game.addVideo('jiuNode',player,false);
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
guding_skill:{
|
2019-11-14 05:47:38 +00:00
|
|
|
|
equipSkill:true,
|
2017-04-15 00:25:50 +00:00
|
|
|
|
audio:true,
|
2019-11-14 05:47:38 +00:00
|
|
|
|
trigger:{source:'damageBegin1'},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
filter:function(event){
|
|
|
|
|
if(event.parent.name=='_lianhuan'||event.parent.name=='_lianhuan2') return false;
|
|
|
|
|
if(event.card&&event.card.name=='sha'){
|
|
|
|
|
if(event.player.countCards('h')==0) return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
forced:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
trigger.num++;
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
effect:{
|
2020-02-16 04:25:41 +00:00
|
|
|
|
player:function(card,player,target,current){
|
|
|
|
|
if(card.name=='sha'&&target.countCards('h')==0&&!target.hasSkillTag('filterDamage',null,{
|
|
|
|
|
player:player,
|
|
|
|
|
card:card,
|
|
|
|
|
})) return [1,0,1,-3];
|
2017-04-15 00:25:50 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
tengjia1:{
|
2019-11-14 05:47:38 +00:00
|
|
|
|
equipSkill:true,
|
2019-06-17 07:19:46 +00:00
|
|
|
|
trigger:{target:['useCardToBefore']},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
forced:true,
|
|
|
|
|
priority:6,
|
|
|
|
|
audio:true,
|
|
|
|
|
filter:function(event,player){
|
2019-11-14 05:47:38 +00:00
|
|
|
|
if(player.hasSkillTag('unequip2')) return false;
|
2018-08-20 05:51:05 +00:00
|
|
|
|
if(event.player.hasSkillTag('unequip',false,{
|
|
|
|
|
name:event.card?event.card.name:null,
|
|
|
|
|
target:player,
|
|
|
|
|
card:event.card
|
|
|
|
|
})) return false;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(event.card.name=='nanman') return true;
|
|
|
|
|
if(event.card.name=='wanjian') return true;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
2017-09-15 07:51:09 +00:00
|
|
|
|
trigger.cancel();
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
effect:{
|
|
|
|
|
target:function(card,player,target,current){
|
2019-11-14 05:47:38 +00:00
|
|
|
|
if(target.hasSkillTag('unequip2')) return;
|
2018-08-20 05:51:05 +00:00
|
|
|
|
if(player.hasSkillTag('unequip',false,{
|
|
|
|
|
name:card?card.name:null,
|
|
|
|
|
target:player,
|
|
|
|
|
card:card
|
2020-02-14 05:33:43 +00:00
|
|
|
|
})||player.hasSkillTag('unequip_ai',false,{
|
|
|
|
|
name:card?card.name:null,
|
|
|
|
|
target:player,
|
|
|
|
|
card:card
|
2018-08-20 05:51:05 +00:00
|
|
|
|
})) return;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(card.name=='nanman'||card.name=='wanjian') return 'zerotarget';
|
|
|
|
|
if(card.name=='sha'){
|
2018-04-17 07:32:43 +00:00
|
|
|
|
var equip1=player.getEquip(1);
|
2019-10-24 04:55:01 +00:00
|
|
|
|
if(equip1&&equip1.name=='zhuque') return 1.9;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
if(!card.nature) return 'zerotarget';
|
|
|
|
|
}
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
tengjia2:{
|
2019-11-14 05:47:38 +00:00
|
|
|
|
equipSkill:true,
|
|
|
|
|
trigger:{player:'damageBegin3'},
|
2019-08-30 14:57:11 +00:00
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(event.nature!='fire') return false;
|
2019-11-14 05:47:38 +00:00
|
|
|
|
if(player.hasSkillTag('unequip2')) return false;
|
2019-08-30 14:57:11 +00:00
|
|
|
|
if(event.source&&event.source.hasSkillTag('unequip',false,{
|
|
|
|
|
name:event.card?event.card.name:null,
|
|
|
|
|
target:player,
|
|
|
|
|
card:event.card
|
|
|
|
|
})) return false;
|
|
|
|
|
return true;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
audio:true,
|
|
|
|
|
forced:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
trigger.num++;
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
effect:{
|
|
|
|
|
target:function(card,player,target,current){
|
|
|
|
|
if(card.name=='sha'){
|
2019-10-24 04:55:01 +00:00
|
|
|
|
if(card.nature=='fire') return 2;
|
|
|
|
|
if(player.hasSkill('zhuque_skill')) return 1.9;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
}
|
|
|
|
|
if(get.tag(card,'fireDamage')&¤t<0) return 2;
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2019-06-17 07:19:46 +00:00
|
|
|
|
tengjia3:{
|
2019-11-14 05:47:38 +00:00
|
|
|
|
equipSkill:true,
|
2019-08-24 15:41:12 +00:00
|
|
|
|
audio:'tengjia1',
|
2019-12-28 14:03:35 +00:00
|
|
|
|
trigger:{target:'shaBefore'},
|
2019-08-24 15:41:12 +00:00
|
|
|
|
forced:true,
|
|
|
|
|
filter:function(event,player){
|
2019-11-14 05:47:38 +00:00
|
|
|
|
if(player.hasSkillTag('unequip2')) return false;
|
2019-08-24 15:41:12 +00:00
|
|
|
|
if(event.player.hasSkillTag('unequip',false,{
|
2019-06-17 07:19:46 +00:00
|
|
|
|
name:event.card?event.card.name:null,
|
|
|
|
|
target:player,
|
|
|
|
|
card:event.card
|
|
|
|
|
})) return false;
|
|
|
|
|
if(event.card.name=='sha'&&!event.card.nature) return true;
|
|
|
|
|
return false;
|
2019-08-24 15:41:12 +00:00
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
trigger.cancel();
|
|
|
|
|
},
|
2019-06-17 07:19:46 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
baiyin_skill:{
|
2019-11-14 05:47:38 +00:00
|
|
|
|
equipSkill:true,
|
|
|
|
|
trigger:{player:'damageBegin4'},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
forced:true,
|
|
|
|
|
audio:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(event.num<=1) return false;
|
2019-11-14 05:47:38 +00:00
|
|
|
|
if(player.hasSkillTag('unequip2')) return false;
|
2018-08-20 05:51:05 +00:00
|
|
|
|
if(event.source&&event.source.hasSkillTag('unequip',false,{
|
|
|
|
|
name:event.card?event.card.name:null,
|
|
|
|
|
target:player,
|
|
|
|
|
card:event.card
|
|
|
|
|
})) return false;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
return true;
|
|
|
|
|
},
|
2019-11-22 05:15:05 +00:00
|
|
|
|
//priority:-10,
|
2017-04-15 00:25:50 +00:00
|
|
|
|
content:function(){
|
|
|
|
|
trigger.num=1;
|
2020-02-14 05:33:43 +00:00
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
filterDamage:true,
|
|
|
|
|
skillTagFilter:function(player,tag,arg){
|
|
|
|
|
if(player.hasSkillTag('unequip2')) return false;
|
|
|
|
|
if(arg&&arg.player){
|
|
|
|
|
if(arg.player.hasSkillTag('unequip',false,{
|
|
|
|
|
name:arg.card?arg.card.name:null,
|
|
|
|
|
target:player,
|
|
|
|
|
card:arg.card,
|
|
|
|
|
})) return false;
|
|
|
|
|
if(arg.player.hasSkillTag('unequip_ai',false,{
|
|
|
|
|
name:arg.card?arg.card.name:null,
|
|
|
|
|
target:player,
|
|
|
|
|
card:arg.card,
|
|
|
|
|
})) return false;
|
|
|
|
|
if(arg.player.hasSkillTag('jueqing',false,player)) return false;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
zhuque_skill:{
|
2019-11-14 05:47:38 +00:00
|
|
|
|
equipSkill:true,
|
2019-10-24 04:55:01 +00:00
|
|
|
|
trigger:{player:'useCard1'},
|
2019-11-22 05:15:05 +00:00
|
|
|
|
//priority:7,
|
2017-04-15 00:25:50 +00:00
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(event.card.name=='sha'&&!event.card.nature) return true;
|
|
|
|
|
},
|
|
|
|
|
audio:true,
|
|
|
|
|
check:function(event,player){
|
2019-10-24 04:55:01 +00:00
|
|
|
|
var eff=0;
|
|
|
|
|
for(var i=0;i<event.targets.length;i++){
|
|
|
|
|
var target=event.targets[i];
|
2019-12-05 15:05:56 +00:00
|
|
|
|
var eff1=get.damageEffect(target,player,player);
|
|
|
|
|
var eff2=get.damageEffect(target,player,player,'fire');
|
2019-10-24 04:55:01 +00:00
|
|
|
|
eff+=eff2;
|
|
|
|
|
eff-=eff1;
|
|
|
|
|
}
|
2019-12-05 15:05:56 +00:00
|
|
|
|
return eff>=0;
|
2017-04-15 00:25:50 +00:00
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
trigger.card.nature='fire';
|
2020-02-23 05:45:11 +00:00
|
|
|
|
if(get.itemtype(trigger.card)=='card'){
|
|
|
|
|
var next=game.createEvent('zhuque_clear');
|
|
|
|
|
next.card=trigger.card;
|
|
|
|
|
event.next.remove(next);
|
|
|
|
|
trigger.after.push(next);
|
|
|
|
|
next.setContent(function(){
|
|
|
|
|
delete card.nature;
|
|
|
|
|
});
|
|
|
|
|
}
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
zhuque_skill2:{
|
|
|
|
|
trigger:{player:'useCardAfter'},
|
|
|
|
|
forced:true,
|
|
|
|
|
popup:false,
|
|
|
|
|
content:function(){
|
|
|
|
|
delete player.storage.zhuque_skill.nature;
|
2015-04-29 03:25:17 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
huogon2:{},
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
translate:{
|
|
|
|
|
jiu:'酒',
|
|
|
|
|
jiu_info:'出牌阶段,对自己使用,令自己的下一张使用的【杀】造成的伤害+1(每回合限使用1次);濒死阶段,对自己使用,回复1点体力',
|
|
|
|
|
huogong:'火攻',
|
2019-07-20 14:58:35 +00:00
|
|
|
|
tiesuo:'铁索连环',
|
2017-04-15 00:25:50 +00:00
|
|
|
|
tiesuo_info:'出牌阶段使用,选择1至2个角色,分别横置或重置这些角色',
|
|
|
|
|
huogong_bg:'攻',
|
|
|
|
|
huogong_info:'目标角色展示一张手牌,然后若你能弃掉一张与所展示牌相同花色的手牌,则火攻对该角色造成1点火焰伤害。',
|
2019-07-20 14:58:35 +00:00
|
|
|
|
tiesuo_bg:'索',
|
2017-04-15 00:25:50 +00:00
|
|
|
|
bingliang:'兵粮寸断',
|
|
|
|
|
hualiu:'骅骝',
|
|
|
|
|
zhuque:'朱雀羽扇',
|
|
|
|
|
bingliang_bg:'粮',
|
|
|
|
|
bingliang_info:'目标角色判定阶段进行判定:若判定结果不为梅花,则跳过该角色的摸牌阶段。',
|
|
|
|
|
hualiu_bg:'+马',
|
|
|
|
|
hualiu_info:'你的防御距离+1',
|
|
|
|
|
zhuque_bg:'扇',
|
|
|
|
|
zhuque_skill:'朱雀羽扇',
|
|
|
|
|
zhuque_info:'你可以将一张普通【杀】当具火焰伤害的【杀】使用。',
|
|
|
|
|
guding:'古锭刀',
|
|
|
|
|
guding_info:'锁定技,当你使用【杀】对目标角色造成伤害时,若其没有手牌,此伤害+1。',
|
|
|
|
|
guding_skill:'古锭刀',
|
|
|
|
|
tengjia:'藤甲',
|
|
|
|
|
tengjia_info:'锁定技,【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。你每次受到火焰伤害时,该伤害+1。',
|
|
|
|
|
tengjia1:'藤甲',
|
|
|
|
|
tengjia2:'藤甲',
|
2019-06-17 07:19:46 +00:00
|
|
|
|
tengjia3:'藤甲',
|
2017-04-15 00:25:50 +00:00
|
|
|
|
baiyin:'白银狮子',
|
|
|
|
|
baiyin_info:'锁定技,你每次受到伤害时,最多承受1点伤害(防止多余的伤害);当你失去装备区里的【白银狮子】时,你回复1点体力。',
|
|
|
|
|
baiyin_skill:'白银狮子',
|
2019-09-20 15:10:34 +00:00
|
|
|
|
|
|
|
|
|
muniu:'木牛流马',
|
|
|
|
|
muniu_bg:'牛',
|
|
|
|
|
muniu_skill:'木牛',
|
|
|
|
|
muniu_skill2:'流马',
|
|
|
|
|
muniu_skill3:'流马',
|
|
|
|
|
muniu_skill4:'流马',
|
|
|
|
|
muniu_skill6:'木牛流马',
|
|
|
|
|
muniu_skill6_bg:'辎',
|
|
|
|
|
muniu_skill4_backup:'流马',
|
|
|
|
|
muniu_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
|
|
|
|
muniu_skill_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
2015-04-29 03:25:17 +00:00
|
|
|
|
},
|
2017-04-15 00:25:50 +00:00
|
|
|
|
list:[
|
|
|
|
|
["heart",4,"sha","fire"],
|
|
|
|
|
["heart",7,"sha","fire"],
|
|
|
|
|
["heart",10,"sha","fire"],
|
|
|
|
|
["diamond",4,"sha","fire"],
|
|
|
|
|
["diamond",5,"sha","fire"],
|
|
|
|
|
["spade",4,"sha","thunder"],
|
|
|
|
|
["spade",5,"sha","thunder"],
|
|
|
|
|
["spade",6,"sha","thunder"],
|
|
|
|
|
["spade",7,"sha","thunder"],
|
|
|
|
|
["spade",8,"sha","thunder"],
|
|
|
|
|
["club",5,"sha","thunder"],
|
|
|
|
|
["club",6,"sha","thunder"],
|
|
|
|
|
["club",7,"sha","thunder"],
|
|
|
|
|
["club",8,"sha","thunder"],
|
|
|
|
|
["heart",8,"shan"],
|
|
|
|
|
["heart",9,"shan"],
|
|
|
|
|
["heart",11,"shan"],
|
|
|
|
|
["heart",12,"shan"],
|
|
|
|
|
["diamond",6,"shan"],
|
|
|
|
|
["diamond",7,"shan"],
|
|
|
|
|
["diamond",8,"shan"],
|
|
|
|
|
["diamond",10,"shan"],
|
|
|
|
|
["diamond",11,"shan"],
|
|
|
|
|
["heart",5,"tao"],
|
|
|
|
|
["heart",6,"tao"],
|
|
|
|
|
["diamond",2,"tao"],
|
|
|
|
|
["diamond",3,"tao"],
|
|
|
|
|
["diamond",9,"jiu"],
|
|
|
|
|
["spade",3,"jiu"],
|
|
|
|
|
["spade",9,"jiu"],
|
|
|
|
|
["club",3,"jiu"],
|
|
|
|
|
["club",9,"jiu"],
|
2015-04-29 03:25:17 +00:00
|
|
|
|
|
2017-04-15 00:25:50 +00:00
|
|
|
|
["diamond",13,"hualiu"],
|
|
|
|
|
["club",1,"baiyin"],
|
2019-11-03 01:16:02 +00:00
|
|
|
|
["spade",2,"tengjia"],
|
2017-04-15 00:25:50 +00:00
|
|
|
|
["club",2,"tengjia",'fire'],
|
|
|
|
|
["spade",1,"guding"],
|
2019-11-03 01:16:02 +00:00
|
|
|
|
["diamond",1,"zhuque"],
|
2015-04-29 03:25:17 +00:00
|
|
|
|
|
2019-11-03 01:16:02 +00:00
|
|
|
|
["heart",2,"huogong"],
|
|
|
|
|
["heart",3,"huogong"],
|
|
|
|
|
["diamond",12,"huogong"],
|
2017-04-15 00:25:50 +00:00
|
|
|
|
["spade",11,"tiesuo"],
|
|
|
|
|
["spade",12,"tiesuo"],
|
|
|
|
|
["club",10,"tiesuo"],
|
|
|
|
|
["club",11,"tiesuo"],
|
|
|
|
|
["club",12,"tiesuo"],
|
|
|
|
|
["club",13,"tiesuo"],
|
|
|
|
|
["heart",13,"wuxie"],
|
|
|
|
|
["heart",13,"wuxie"],
|
|
|
|
|
["spade",13,"wuxie"],
|
|
|
|
|
["spade",10,"bingliang"],
|
|
|
|
|
["club",4,"bingliang"],
|
2019-09-20 15:10:34 +00:00
|
|
|
|
|
|
|
|
|
['diamond',5,'muniu'],
|
2017-04-15 00:25:50 +00:00
|
|
|
|
],
|
|
|
|
|
}
|
2017-04-14 23:35:56 +00:00
|
|
|
|
});
|