'use strict'; game.import('card',function(lib,game,ui,get,ai,_status){ return { name:'huanlekapai', connect:true, card:{ "monkey":{ audio:true, fullskin:true, type:"equip", subtype:"equip5", skills:["monkey"], ai:{ basic:{ equipValue:8, order:function (card,player){ if(player&&player.hasSkillTag('reverseEquip')){ return 8.5-get.equipValue(card,player)/20; } else{ return 8+get.equipValue(card,player)/20; } }, useful:2, value:function (card,player){ var value=0; var info=get.info(card); var current=player.getEquip(info.subtype); if(current&&card!=current){ value=get.value(current,player); } var equipValue=info.ai.equipValue; if(equipValue==undefined){ equipValue=info.ai.basic.equipValue; } if(typeof equipValue=='function') return equipValue(card,player)-value; if(typeof equipValue!='number') equipValue=0; return equipValue-value; }, }, result:{ target:function (player,target){ return get.equipResult(player,target,name); }, }, }, enable:true, selectTarget:-1, filterTarget:function (card,player,target){ return target==player; }, modTarget:true, allowMultiple:false, content:function (){ target.equip(card); }, toself:true, }, "mianju":{ audio:true, type:"equip", subtype:"equip2", skills:["mianju"], ai:{ order:9.5, basic:{ equipValue:function (card,player){ if(!player.isTurnedOver()) return 6; if(player.isTurnedOver()) return -10; return 0; }, order:function (card,player){ if(player&&player.hasSkillTag('reverseEquip')){ return 8.5-get.equipValue(card,player)/20; } else{ return 8+get.equipValue(card,player)/20; } }, useful:2, value:function (card,player){ var value=0; var info=get.info(card); var current=player.getEquip(info.subtype); if(current&&card!=current){ value=get.value(current,player); } var equipValue=info.ai.equipValue; if(equipValue==undefined){ equipValue=info.ai.basic.equipValue; } if(typeof equipValue=='function') return equipValue(card,player)-value; if(typeof equipValue!='number') equipValue=0; return equipValue-value; }, }, result:{ target:function (player,target){ return get.equipResult(player,target,name); }, }, }, enable:true, selectTarget:-1, modTarget:true, allowMultiple:false, toself:true, fullskin:true, }, "shoulijian":{ audio:true, type:"basic", skills:["shoulijian"], enable:true, fullskin:true, filterTarget:function (card,player,target){ return get.distance(player,target)>1; }, content:function (){ "step 0" if(!target.countCards('he',{type:'equip'})){ target.damage(); event.finish(); } else{ target.chooseToDiscard('he',{type:'equip'},'弃置一张装备牌或受到一点伤害').ai=function(card){ return 7-get.value(card); }; } "step 1" if(!result.bool){ target.damage(); } }, ai:{ basic:{ order:9, value:6, useful:2, }, result:{ target:-2, }, tag:{ discard:1, damage:1, }, }, selectTarget:1, }, "kuwu":{ audio:true, fullskin:true, type:"equip", subtype:"equip1", skills:["kuwu"], nomod:true, nopower:true, unique:true, distance:{ attackFrom:-1, }, ai:{ equipValue:6, basic:{ order:function (card,player){ if(player&&player.hasSkillTag('reverseEquip')){ return 8.5-get.equipValue(card,player)/20; } else{ return 8+get.equipValue(card,player)/20; } }, useful:2, equipValue:1, value:function (card,player){ var value=0; var info=get.info(card); var current=player.getEquip(info.subtype); if(current&&card!=current){ value=get.value(current,player); } var equipValue=info.ai.equipValue; if(equipValue==undefined){ equipValue=info.ai.basic.equipValue; } if(typeof equipValue=='function') return equipValue(card,player)-value; if(typeof equipValue!='number') equipValue=0; return equipValue-value; }, }, result:{ target:function (player,target){ return get.equipResult(player,target,name); }, }, }, enable:true, selectTarget:-1, modTarget:true, allowMultiple:false, toself:true, }, "xuelunyang":{ audio:true, fullskin:true, type:"equip", subtype:"equip5", skills:["xuelunyang"], ai:{ basic:{ equipValue:8, order:function (card,player){ if(player&&player.hasSkillTag('reverseEquip')){ return 8.5-get.equipValue(card,player)/20; } else{ return 8+get.equipValue(card,player)/20; } }, useful:2, value:function (card,player){ var value=0; var info=get.info(card); var current=player.getEquip(info.subtype); if(current&&card!=current){ value=get.value(current,player); } var equipValue=info.ai.equipValue; if(equipValue==undefined){ equipValue=info.ai.basic.equipValue; } if(typeof equipValue=='function') return equipValue(card,player)-value; if(typeof equipValue!='number') equipValue=0; return equipValue-value; }, }, result:{ target:function (player,target){ return get.equipResult(player,target,name); }, }, }, enable:true, selectTarget:-1, modTarget:true, allowMultiple:false, toself:true, }, "jiuwei":{ audio:true, fullskin:true, type:"equip", subtype:"equip5", skills:["jiuwei"], ai:{ basic:{ equipValue:8, order:function (card,player){ if(player&&player.hasSkillTag('reverseEquip')){ return 8.5-get.equipValue(card,player)/20; } else{ return 8+get.equipValue(card,player)/20; } }, useful:2, value:function (card,player){ var value=0; var info=get.info(card); var current=player.getEquip(info.subtype); if(current&&card!=current){ value=get.value(current,player); } var equipValue=info.ai.equipValue; if(equipValue==undefined){ equipValue=info.ai.basic.equipValue; } if(typeof equipValue=='function') return equipValue(card,player)-value; if(typeof equipValue!='number') equipValue=0; return equipValue-value; }, }, result:{ target:function (player,target){ return get.equipResult(player,target,name); }, }, }, enable:true, selectTarget:-1, modTarget:true, allowMultiple:false, toself:true, }, }, skill:{ "shoulijian":{ audio:true, enable:true, filterTarget:function (card,player,target){ return get.distance(player,target)>1; }, content:function (){ "step 0" if(!target.countCards('he',{type:'equip'})){ target.damage(); event.finish(); } else{ target.chooseToDiscard('he',{type:'equip'},'弃置一张装备牌或受到一点伤害').ai=function(card){ return 7-get.value(card); }; } "step 1" if(!result.bool){ target.damage(); } }, ai:{ basic:{ order:9, value:6, useful:2, }, result:{ target:-2, }, tag:{ discard:1, damage:1, }, }, selectTarget:1, }, "monkey":{ trigger:{ global:"useCardToBegin", }, audio:true, filter:function (event,player){ var card=player.get('e','5'); if(card){ var name=card.name; if(event.name=='tao'&&get.itemtype(event.cards)=='cards'&&get.position(event.cards[0])=='d'&&event.player!=player&&name&&name.indexOf('monkey')!=-1) return true; } return false; }, check:function (event,player){ return ai.get.attitude(player,event.player)<=0; }, content:function (){ "step 0" player.$fullscreenpop('猴子偷桃','fire'); trigger.untrigger(); trigger.finish(); "step 1" player.discard(player.get('e','5')); "step 2" player.gain(trigger.cards); player.$gain2(trigger.cards); }, }, "mianju":{ audio:true, trigger:{ player:"turnOverBefore", }, forced:true, filter:function (event,player){ return !player.isTurnedOver(); }, content:function (){ trigger.cancel(); }, ai:{ noturnOver:true, effect:{ target:function (card,player,target,current){ if(get.tag(card,'turnOver')) return [0,0]; }, }, }, }, "kuwu":{ audio:true, trigger:{ source:"damageEnd", }, forced:true, priority:55, filter:function (event,player){ if(event._notrigger.contains(event.player)) return false; return event.card&&event.card.name=='sha'&&event.notLink()&&event.player.countCards('he')>0; }, content:function (){ trigger.player.chooseToDiscard(true,'he'); }, }, "xuelunyang":{ audio:true, trigger:{ player:"phaseBegin", }, filter:function (event,player){ return player.isAlive(); }, priority:2018, direct:true, createDialog:function (player,target,onlylist){ var names=[]; var list=[]; if(target.name&&!target.isUnseen(0)) names.add(target.name); if(target.name1&&!target.isUnseen(0)) names.add(target.name1); if(target.name2&&!target.isUnseen(1)) names.add(target.name2); var pss=player.getSkills(); for(var i=0;i
【'+ translation+'】
'+lib.translate[list[i]+'_info']+'
'); item.firstChild.addEventListener('click',clickItem); item.firstChild.link=list[i]; } } dialog.add(ui.create.div('.placeholder')); return dialog; }, content:function (){ 'step 0' player.chooseTarget(get.prompt2('xuelunyang'),function(card,player,target){ var names=[]; if(target.name&&!target.isUnseen(0)) names.add(target.name); if(target.name1&&!target.isUnseen(0)) names.add(target.name1); if(target.name2&&!target.isUnseen(1)) names.add(target.name2); var pss=player.getSkills(); for(var i=0;i0) return Math.random(); return get.attitude(_status.event.player,target)<=0; }); 'step 1' if(result.bool){ event.target=result.targets[0]; player.logSkill('xuelunyang',event.target); } else{ event.finish(); } 'step 2' event.skillai=function(list){ return get.max(list,get.skillRank,'item'); }; if(event.isMine()){ event.dialog=lib.skill.xuelunyang.createDialog(player,target);//tianshu event.switchToAuto=function(){ event._result=event.skillai(event.list); game.resume(); }; _status.imchoosing=true; game.pause(); } else{ event._result=event.skillai(lib.skill.xuelunyang.createDialog(player,target,true)); } 'step 3' _status.imchoosing=false; if(event.dialog){ event.dialog.close(); } player.addTempSkill(result); player.popup(result); game.log(player,'获得了','【'+get.translation(result)+'】'); /* 'step 0' player.chooseTarget(get.prompt2('xuelunyang'),function(card,player,target){ return target!=player; }).set('ai',function(target){ if(get.attitude(_status.event.player,target)>0) return Math.random(); return get.attitude(_status.event.player,target)<=0; }); 'step 1' if(result.bool){ event.target=result.targets[0]; player.logSkill('xuelunyang',event.target); } else{ event.finish(); } 'step 2' player.chooseSkill(event.target,function(info,skill){ return player.isAlive(); }); 'step 3' if(result.bool){ var skill=result.skill; player.addTempSkill(skill); player.popup(skill); //player.markSkillCharacter('xuelunyang',event.target.name,get.skillTranslation(skill,player),get.skillInfoTranslation(skill)); game.log(player,'获得了','【'+get.translation(skill)+'】'); } */ }, }, "jiuwei":{ trigger:{ player:"phaseEnd", }, audio:true, filter:function (event,player){ return player.isAlive(); }, frequent:true, content:function (){ if(player.isDamaged()){ player.recover(); } else{ player.draw(); } }, }, }, translate:{ "monkey":"猴子", "monkey_info":"猴子偷桃:当场上有其他角色使用【桃】时,你可以弃掉【猴子】,阻止【桃】的结算并将其收为手牌", "mianju":"漩涡面具", "mianju_info":"锁定技 若你的武将牌正面向上,你的武将牌不能被翻面", "shoulijian":"手里剑", "shoulijian_info":"出牌阶段,对一名距离1以外的角色使用,令其弃置一张装备牌或受到一点伤害", "kuwu":"苦无", "kuwu_info":"锁定技 每当你使用【杀】造成一次伤害,受伤角色须弃置一张牌", "xuelunyang":"写轮眼", "xuelunyang_info":"回合开始阶段,你可以选择一名角色,然后获得其一项技能,直到回合结束", "jiuwei":"九尾", "jiuwei_info":"(收集查克拉)回合结束时,若你已受伤,你可回复一点体力,否则摸一张牌", }, list:[ ["diamond","5","monkey"], ["heart","9","jiuwei"], ["heart","2","xuelunyang"], ["spade","6","kuwu"], ["diamond","4","shoulijian"], ["spade","4","shoulijian"], ["club","3","mianju"], ], } });