'use strict'; game.import('card',function(lib,game,ui,get,ai,_status){ return { name:'mtg', card:{ mtg_lindixiliu:{ type:'land', fullborder:'wood', enable:function(card,player){ return !player.hasSkill('land_used'); }, notarget:true, content:function(){ 'step 0' game.changeLand('mtg_lindixiliu',player); var card=get.cardPile2(function(card){ return get.suit(card)=='heart'; }); if(card){ player.gain(card,'draw'); } 'step 1' player.chooseToDiscard('he',[1,Infinity],{suit:'heart'},'林地溪流').set('ai',function(card){ return 8-get.value(card); }).set('prompt2','弃置任意张红桃牌,每弃置一张牌,将一张延时锦囊牌置入一名随机敌方角色的判定区'); 'step 2' if(result.bool){ event.num=result.cards.length; event.targets=player.getEnemies(); } 'step 3' if(event.num&&event.targets&&event.targets.length){ var target=event.targets.randomGet(); var list=get.inpile('delay'); for(var i=0;i0){ player.useCard({name:name},target); return; } } } }, ai:{ value:5, useful:3, order:4, result:{ player:1 } } }, mtg_haidao:{ type:'land', fullborder:'wood', enable:function(card,player){ return !player.hasSkill('land_used'); }, notarget:true, content:function(){ 'step 0' game.changeLand('mtg_haidao',player); if(player.isHealthy()){ player.changeHujia(); event.finish(); } else{ player._temp_mtg_haidao=true; player.chooseToDiscard('he','海岛').set('ai',function(card){ return 5-get.value(card); }).set('prompt2','弃置一张牌并回复一点体力,或取消并获得一点护甲'); } 'step 1' if(result.bool){ player.recover(); } else{ player.changeHujia(); } 'step 2' delete player._temp_mtg_haidao; }, ai:{ value:5, useful:3, order:4, result:{ player:1 } } }, mtg_yixialan:{ type:'land', fullborder:'wood', enable:function(card,player){ return !player.hasSkill('land_used'); }, notarget:true, content:function(){ 'step 0' game.changeLand('mtg_yixialan',player); player.chooseControl('基本牌','锦囊牌').set('prompt','选择一个类型获得该类型的一张牌').set('ai',function(){ var player=_status.event.player; if(!player.hasSha()||!player.hasShan()||player.hp==1) return 0; return 1; }); 'step 1' if(result.control=='基本牌'){ player.gain(game.createCard(get.inpile('basic').randomGet()),'gain2'); } else{ player.gain(game.createCard(get.inpile('trick','trick').randomGet()),'gain2'); } }, ai:{ value:5, useful:3, order:4, result:{ player:1 } } }, mtg_shuimomuxue:{ type:'land', fullborder:'wood', enable:function(card,player){ return !player.hasSkill('land_used'); }, notarget:true, content:function(){ 'step 0' game.changeLand('mtg_shuimomuxue',player); if(player.countDiscardableCards('he')){ player.chooseToDiscard('是否弃置一张牌并摸两张牌?','he').set('ai',function(card){ return 8-get.value(card); }); } else{ event.finish(); } 'step 1' if(result.bool){ player.draw(2); } }, ai:{ value:5, useful:3, order:4, result:{ player:function(player){ if(!player.countCards('h',function(card){ return card.name!='mtg_shuimomuxue'&&get.value(card)<8; })){ return 0; } return 1; } } } }, mtg_feixu:{ type:'land', fullborder:'wood', enable:function(card,player){ return !player.hasSkill('land_used'); }, notarget:true, content:function(){ game.changeLand('mtg_feixu',player); player.discoverCard(ui.discardPile.childNodes); }, ai:{ value:5, useful:3, order:4, result:{ player:1 } } }, mtg_shamolvzhou:{ type:'land', fullborder:'wood', enable:function(card,player){ return !player.hasSkill('land_used'); }, notarget:true, content:function(){ game.changeLand('mtg_shamolvzhou',player); player.discoverCard(get.inpile('basic')); }, ai:{ value:5, useful:3, order:4, result:{ player:1 } } }, mtg_duzhao:{ type:'land', fullborder:'wood', enable:function(card,player){ return !player.hasSkill('land_used'); }, notarget:true, content:function(){ 'step 0' game.changeLand('mtg_duzhao',player); player.chooseTarget('选择一名角色令其获得一张毒',true).set('ai',function(target){ if(target.hasSkillTag('nodu')) return 0; return -get.attitude(_status.event.player,target)/Math.sqrt(target.hp+1); }); 'step 1' if(result.bool){ var target=result.targets[0]; player.line(target,'green'); target.gain(game.createCard('du'),'gain2'); } }, ai:{ value:5, useful:3, order:4, result:{ player:function(player){ if(game.countPlayer(function(current){ if(current.hasSkillTag('nodu')) return false; return get.attitude(player,current)<0; })>game.countPlayer(function(current){ if(current.hasSkillTag('nodu')) return false; return get.attitude(player,current)>0; })){ return 1; } return 0; } } } }, mtg_bingheyaosai:{ type:'land', fullborder:'wood', enable:function(card,player){ return !player.hasSkill('land_used'); }, notarget:true, content:function(){ 'step 0' game.changeLand('mtg_bingheyaosai',player); player.draw(2); 'step 1' player.chooseToDiscard('he',2,true); }, ai:{ value:5, useful:3, order:2, result:{ player:1 } } } }, skill:{ mtg_bingheyaosai_skill:{ trigger:{player:'useCard'}, forced:true, filter:function(event,player){ if(player.countCards('he')==0) return false; return event.card.name=='sha'; }, autodelay:true, content:function(){ player.chooseToDiscard(true,'he'); }, ai:{ mapValue:-4 } }, mtg_duzhao_skill:{ trigger:{player:'phaseEnd'}, forced:true, content:function(){ player.gain(game.createCard('du'),'gain2'); }, ai:{ mapValue:-5 } }, mtg_shamolvzhou_skill:{ mod:{ ignoredHandcard:function(card){ if(get.type(card)=='basic'){ return true; } } }, ai:{ mapValue:3 } }, mtg_haidao_skill:{ trigger:{player:'changeHujiaBefore'}, forced:true, filter:function(event,player){ return player.isDamaged()&&!player._temp_mtg_haidao&&event.num>0; }, content:function(){ player.recover(trigger.num); trigger.cancel(); }, ai:{ mapValue:1 } }, mtg_yixialan_skill:{ enable:'phaseUse', filter:function(event,player){ return player.countCards('h',{type:'basic'})>0; }, filterCard:{type:'basic'}, prepare:function(cards,player){ player.$throw(cards,1000); }, discard:false, delay:0.5, check:function(card){ return 7-get.value(card); }, usable:1, content:function(){ var card=get.cardPile(function(card){ return get.type(card,'trick')=='trick' }); if(card){ player.gain(card,'draw'); } else{ player.draw(); } }, ai:{ mapValue:2, order:1, result:{ player:1, }, } }, mtg_shuimomuxue_skill:{ mod:{ maxHandcard:function(player,num){ return num-1; } }, trigger:{player:'phaseDiscardEnd'}, forced:true, filter:function(event){ return event.cards&&event.cards.length>0; }, content:function(){ player.draw(); }, ai:{ mapValue:2 } }, mtg_feixu_skill:{ trigger:{player:'phaseBegin'}, silent:true, content:function(){ var num=ui.discardPile.childNodes.length; if(num){ var card=ui.discardPile.childNodes[get.rand(num)]; if(card){ ui.cardPile.insertBefore(card,ui.cardPile.firstChild); } } }, ai:{ mapValue:0 } }, mtg_youlin_skill:{ enable:'phaseUse', usable:1, filter:function(event,player){ return player.countCards('h',{type:['trick','delay']}); }, filterCard:function(card){ return get.type(card,'trick')=='trick'; }, check:function(card){ return 7-get.value(card); }, content:function(){ player.discoverCard(); }, ai:{ mapValue:1, order:7, result:{ player:2 } } }, mtg_linzhongjianta_skill:{ enable:'chooseToUse', filterCard:function(card){ return get.type(card)=='basic'; }, usable:1, viewAs:{name:'sha'}, viewAsFilter:function(player){ if(!player.getEquip(1)) return false; if(!player.countCards('h',{type:'basic'})) return false; }, prompt:'将一张基本牌当杀使用', check:function(card){return 6-get.value(card)}, ai:{ mapValue:2, respondSha:true, order:function(){ return get.order({name:'sha'})-0.1; }, skillTagFilter:function(player,tag,arg){ if(arg!='use') return false; if(!player.getEquip(1)) return false; if(!player.countCards('h',{type:'basic'})) return false; }, } }, mtg_cangbaohaiwan_skill:{ trigger:{player:'drawBegin'}, silent:true, content:function(){ if(Math.random()<1/3){ var list=[]; for(var i=0;i
  • 地图牌可于出牌阶段使用,每阶段最多使用一张地图牌
  • '+ '地图牌分为两部分:即时效果以及地图效果,即时效果由使用者在使用时选择;地图效果对所有角色有效
  • '+ '当使用者死亡或下个回合开始时,当前地图效果消失
  • '+ '新地图被使用时会覆盖当前地图效果' }, list:[ ['club',12,'mtg_yixialan'], ['spade',11,'mtg_shuimomuxue'], ['diamond',5,'mtg_haidao'], ['club',10,'mtg_youlin'], ['club',8,'mtg_feixu'], ['heart',6,'mtg_shamolvzhou'], ['club',12,'mtg_cangbaohaiwan'], ['spade',11,'mtg_lindixiliu'], ['diamond',5,'mtg_bingheyaosai'], ['club',10,'mtg_longlushanfeng'], ['club',8,'mtg_duzhao'], ['heart',6,'mtg_linzhongjianta'], ], }; });