v1.9.93(Part 2)
This commit is contained in:
parent
39f952d0bb
commit
31213874d5
340
card/extra.js
340
card/extra.js
|
@ -4,6 +4,43 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
name:'extra',
|
name:'extra',
|
||||||
connect:true,
|
connect:true,
|
||||||
card:{
|
card:{
|
||||||
|
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);
|
||||||
|
while(card.cards.length){
|
||||||
|
var card2=card.cards.shift();
|
||||||
|
if(card2.parentNode.id=='special'){
|
||||||
|
card2.discard();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
jiu:{
|
jiu:{
|
||||||
audio:true,
|
audio:true,
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
|
@ -382,6 +419,295 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
muniu_skill:{
|
||||||
|
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,
|
||||||
|
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);
|
||||||
|
event.trigger("addCardToStorage");
|
||||||
|
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'},
|
||||||
|
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;
|
||||||
|
trigger.result={bool:true,card:result.links[0]};
|
||||||
|
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++){
|
||||||
|
if(event.filterCard(muniu.cards[i],player)) return true;
|
||||||
|
}
|
||||||
|
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){
|
||||||
|
if(button.link.name=='du') return -2;
|
||||||
|
var player=_status.event.player;
|
||||||
|
if(button.link.name=='xingjiegoutong'&&player.countCards('h')>1) return -2;
|
||||||
|
if(get.select(get.info(button.link).selectTarget)[1]==-1){
|
||||||
|
if(get.type(button.link)=='delay') return -1;
|
||||||
|
if(get.type(button.link)=='equip'){
|
||||||
|
var current=player.getCards('e',{subtype:get.subtype(button.link)})[0];
|
||||||
|
if(current&&get.equipValue(current)>=get.equipValue(button.link)) return -1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if(get.tag(button.link,'multitarget')) return -1;
|
||||||
|
if(button.link.name=='huoshaolianying') return -1;
|
||||||
|
}
|
||||||
|
if(button.link.name=='jiu'){
|
||||||
|
if(get.effect(player,{name:'jiu'},player)>0){
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
},
|
||||||
|
backup:function(links,player){
|
||||||
|
return {
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
prompt:function(links,player){
|
||||||
|
return '选择'+get.translation(links)+'的目标';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:4,
|
||||||
|
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;
|
||||||
|
},
|
||||||
|
},
|
||||||
huogong2:{},
|
huogong2:{},
|
||||||
jiu:{
|
jiu:{
|
||||||
trigger:{player:'useCard'},
|
trigger:{player:'useCard'},
|
||||||
|
@ -610,6 +936,18 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
baiyin:'白银狮子',
|
baiyin:'白银狮子',
|
||||||
baiyin_info:'锁定技,你每次受到伤害时,最多承受1点伤害(防止多余的伤害);当你失去装备区里的【白银狮子】时,你回复1点体力。',
|
baiyin_info:'锁定技,你每次受到伤害时,最多承受1点伤害(防止多余的伤害);当你失去装备区里的【白银狮子】时,你回复1点体力。',
|
||||||
baiyin_skill:'白银狮子',
|
baiyin_skill:'白银狮子',
|
||||||
|
|
||||||
|
muniu:'木牛流马',
|
||||||
|
muniu_bg:'牛',
|
||||||
|
muniu_skill:'木牛',
|
||||||
|
muniu_skill2:'流马',
|
||||||
|
muniu_skill3:'流马',
|
||||||
|
muniu_skill4:'流马',
|
||||||
|
muniu_skill6:'木牛流马',
|
||||||
|
muniu_skill6_bg:'辎',
|
||||||
|
muniu_skill4_backup:'流马',
|
||||||
|
muniu_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
||||||
|
muniu_skill_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
||||||
},
|
},
|
||||||
list:[
|
list:[
|
||||||
["heart",4,"sha","fire"],
|
["heart",4,"sha","fire"],
|
||||||
|
@ -666,6 +1004,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
["spade",13,"wuxie"],
|
["spade",13,"wuxie"],
|
||||||
["spade",10,"bingliang"],
|
["spade",10,"bingliang"],
|
||||||
["club",4,"bingliang"],
|
["club",4,"bingliang"],
|
||||||
|
|
||||||
|
['diamond',5,'muniu'],
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
339
card/sp.js
339
card/sp.js
|
@ -232,43 +232,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
skills:['yinyueqiang']
|
skills:['yinyueqiang']
|
||||||
},
|
},
|
||||||
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);
|
|
||||||
while(card.cards.length){
|
|
||||||
var card2=card.cards.shift();
|
|
||||||
if(card2.parentNode.id=='special'){
|
|
||||||
card2.discard();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
du:{
|
du:{
|
||||||
type:'basic',
|
type:'basic',
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
|
@ -616,295 +580,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
muniu_skill:{
|
|
||||||
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,
|
|
||||||
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);
|
|
||||||
event.trigger("addCardToStorage");
|
|
||||||
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'},
|
|
||||||
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;
|
|
||||||
trigger.result={bool:true,card:result.links[0]};
|
|
||||||
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++){
|
|
||||||
if(event.filterCard(muniu.cards[i],player)) return true;
|
|
||||||
}
|
|
||||||
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){
|
|
||||||
if(button.link.name=='du') return -2;
|
|
||||||
var player=_status.event.player;
|
|
||||||
if(button.link.name=='xingjiegoutong'&&player.countCards('h')>1) return -2;
|
|
||||||
if(get.select(get.info(button.link).selectTarget)[1]==-1){
|
|
||||||
if(get.type(button.link)=='delay') return -1;
|
|
||||||
if(get.type(button.link)=='equip'){
|
|
||||||
var current=player.getCards('e',{subtype:get.subtype(button.link)})[0];
|
|
||||||
if(current&&get.equipValue(current)>=get.equipValue(button.link)) return -1;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if(get.tag(button.link,'multitarget')) return -1;
|
|
||||||
if(button.link.name=='huoshaolianying') return -1;
|
|
||||||
}
|
|
||||||
if(button.link.name=='jiu'){
|
|
||||||
if(get.effect(player,{name:'jiu'},player)>0){
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
},
|
|
||||||
backup:function(links,player){
|
|
||||||
return {
|
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
prompt:function(links,player){
|
|
||||||
return '选择'+get.translation(links)+'的目标';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:4,
|
|
||||||
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;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
g_du:{
|
g_du:{
|
||||||
trigger:{player:['useCardAfter','respondAfter','discardAfter']},
|
trigger:{player:['useCardAfter','respondAfter','discardAfter']},
|
||||||
popup:false,
|
popup:false,
|
||||||
|
@ -966,17 +641,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
lanyinjia_info:'你可以将一张手牌当做【闪】使用或打出。锁定技,【烂银甲】不会无效化;当你受到【杀】造成的伤害时,弃置【烂银甲】。',
|
lanyinjia_info:'你可以将一张手牌当做【闪】使用或打出。锁定技,【烂银甲】不会无效化;当你受到【杀】造成的伤害时,弃置【烂银甲】。',
|
||||||
yinyueqiang:'银月枪',
|
yinyueqiang:'银月枪',
|
||||||
yinyueqiang_info:'你的回合外,每当你使用或打出了一张黑色手牌(若为使用则在它结算之前),你可以立即对你攻击范围内的任意一名角色使用一张【杀】',
|
yinyueqiang_info:'你的回合外,每当你使用或打出了一张黑色手牌(若为使用则在它结算之前),你可以立即对你攻击范围内的任意一名角色使用一张【杀】',
|
||||||
muniu:'木牛流马',
|
|
||||||
muniu_bg:'牛',
|
|
||||||
muniu_skill:'木牛',
|
|
||||||
muniu_skill2:'流马',
|
|
||||||
muniu_skill3:'流马',
|
|
||||||
muniu_skill4:'流马',
|
|
||||||
muniu_skill6:'木牛流马',
|
|
||||||
muniu_skill6_bg:'辎',
|
|
||||||
muniu_skill4_backup:'流马',
|
|
||||||
muniu_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
|
||||||
muniu_skill_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
|
||||||
du:'毒',
|
du:'毒',
|
||||||
du_info:'当你因使用、打出或弃置而失去此牌时,你失去一点体力',
|
du_info:'当你因使用、打出或弃置而失去此牌时,你失去一点体力',
|
||||||
shengdong:'声东击西',
|
shengdong:'声东击西',
|
||||||
|
@ -1001,7 +665,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
['club',9,'du'],
|
['club',9,'du'],
|
||||||
['diamond',5,'du'],
|
['diamond',5,'du'],
|
||||||
['diamond',9,'du'],
|
['diamond',9,'du'],
|
||||||
['diamond',5,'muniu'],
|
|
||||||
['diamond',12,'yinyueqiang'],
|
['diamond',12,'yinyueqiang'],
|
||||||
["spade",11,'jinchan'],
|
["spade",11,'jinchan'],
|
||||||
["club",12,'jinchan'],
|
["club",12,'jinchan'],
|
||||||
|
|
|
@ -366,7 +366,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
ai:{
|
ai:{
|
||||||
equipValue:function(card,player){
|
equipValue:function(card,player){
|
||||||
if(!game.hasPlayer(function(current){
|
if(!game.hasPlayer(function(current){
|
||||||
return player.canUse('sha',current)&&get.effect(current,{name:'sha'},player,player)<0;
|
return player.canUse('sha',current)&&get.effect(current,{name:'sha'},player,player)>0;
|
||||||
})){
|
})){
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue