'use strict'; game.import('card',function(lib,game,ui,get,ai,_status){ return { name:'gwent', card:{ gw_ansha:{ fullborder:'gold', type:'spell', subtype:'spell_gold', vanish:true, enable:function(card,player){ var enemies=player.getEnemies(); return game.hasPlayer(function(current){ return current.hp==1&&enemies.contains(current); }); }, notarget:true, contentBefore:function(){ player.$skill('暗杀','legend','metal'); game.delay(2); }, content:function(){ var enemies=player.getEnemies(); var list=game.filterPlayer(function(current){ return current.hp==1&&enemies.contains(current); }); if(list.length){ var target=list.randomGet(); player.line(target); target.die()._triggered=null; } }, contentAfter:function(){ var evt=_status.event.getParent('phaseUse'); if(evt&&evt.name=='phaseUse'){ evt.skipped=true; } }, ai:{ value:8, useful:[6,1], result:{ player:1 }, order:0.6, } }, gw_xinsheng:{ fullborder:'gold', type:'spell', subtype:'spell_gold', vanish:true, enable:function(card,player){ return game.hasPlayer(function(current){ return !current.isUnseen(); }); }, notarget:true, contentBefore:function(){ player.$skill('新生','legend','metal'); game.delay(2); }, content:function(){ 'step 0' var target=game.findMax(game.filterPlayer(function(current){ return !current.isUnseen(); }).randomSort(),function(current){ var att=get.attitude(player,current); var rank=get.rank(current,true); if(current.maxHp>=3){ if(current.hp<=1){ return att*2; } else if(current.hp==2){ if(att>0){ att*=1.5; } else{ att/=1.5; } } } if(rank>=7){ if(att>0){ return att/10; } return -att; } else if(rank<=4){ if(att<0){ return -att/10; } return att; } return Math.abs(att/2); })[0]; event.aitarget=target; var list=[]; for(var i in lib.character){ if(!lib.filter.characterDisabled(i)&&lib.character[i][2]>=5){ list.push(i); } } var players=game.players.concat(game.dead); for(var i=0;i0){ return get.rank(button.link,true); } else{ return -get.rank(button.link,true); } }; 'step 1' event.nametarget=result.links[0]; player.chooseTarget(true,'使用'+get.translation(event.nametarget)+'替换一名角色的武将牌',function(card,player,target){ return !target.isUnseen(); }).ai=function(target){ if(target==event.aitarget){ return 1; } else{ return 0; } } 'step 2' var target=result.targets[0]; target.reinit(target.name,event.nametarget); target.hp=target.maxHp; target.update(); player.line(target,'green'); }, contentAfter:function(){ var evt=_status.event.getParent('phaseUse'); if(evt&&evt.name=='phaseUse'){ evt.skipped=true; } }, ai:{ value:8, useful:[6,1], result:{ player:1 }, order:0.5, } }, gw_niuquzhijing:{ fullborder:'gold', type:'spell', subtype:'spell_gold', vanish:true, enable:function(card,player){ return game.hasPlayer(function(current){ return current.hp!=player.hp; }); }, notarget:true, contentBefore:function(){ var list1=game.filterPlayer(function(current){ return current.isMaxHp(); }); var list2=game.filterPlayer(function(current){ return current.isMinHp(); }); player.line(list1); for(var i=0;ilist11.length){ list11.push(list1.randomGet()); } while(list22.length0; }, content:function(){ var cards=target.getCards('e'); target.gain(cards,'draw2'); target.draw(cards.length); }, ai:{ basic:{ order:6, value:7, useful:[3,1], }, result:{ target:function(player,target){ var num=target.countCards('e'); if(target.hasSkillTag('noe')){ num*=1.5; } if(target==_status.currentPhase){ num*=1.2; } return num/1.5; }, }, } }, gw_tongdi:{ fullborder:'silver', type:'spell', subtype:'spell_silver', vanish:true, enable:true, filterTarget:true, content:function(){ 'step 0' if(!player.countCards('h')){ event.finish(); } else{ player.chooseCard('h','将一张手牌交给'+get.translation(target),true); } 'step 1' player.$giveAuto(result.cards,target); target.gain(result.cards,player); 'step 2' player.gainPlayerCard(target,'h',true,2,'visible'); }, ai:{ basic:{ order:8, value:9.5, useful:[5,1], }, result:{ target:function(player,target){ if(player.countCards('h','gw_tongdi')==player.countCards('h')) return 0; if(!target.countCards('h')) return 0; return -1; }, player:function(player,target){ if(player.countCards('h','gw_tongdi')==player.countCards('h')) return 0; if(!target.countCards('h')) return 0; return 0.5; }, }, } }, gw_fuyuan:{ fullborder:'silver', type:'spell', subtype:'spell_silver', vanish:true, savable:true, selectTarget:-1, content:function(){ target.recover(); target.changeHujia(); }, ai:{ basic:{ order:6, useful:10, value:[8,6.5,5,4], }, result:{ target:2 }, tag:{ recover:1, save:1, } } }, gw_zhuoshao:{ fullborder:'silver', type:'spell', subtype:'spell_silver', vanish:true, enable:true, filterTarget:function(card,player,target){ return target.isMaxHp(); }, cardnature:'fire', selectTarget:[1,Infinity], content:function(){ target.damage('fire'); }, ai:{ basic:{ order:8.5, value:7.5, useful:[4,1], }, result:{ target:-1 }, tag:{ damage:1, fireDamage:1, natureDamage:1, } } }, gw_butianshu:{ fullborder:'silver', type:'spell', subtype:'spell_silver', vanish:true, enable:true, filterTarget:true, // contentBefore:function(){ // player.$skill('卜天术','legend','water'); // game.delay(2); // }, content:function(){ 'step 0' var list=[]; for(var i in lib.card){ if(lib.card[i].mode&&lib.card[i].mode.contains(lib.config.mode)==false) continue; if(lib.card[i].type=='delay') list.push([cards[0].suit,cards[0].number,i]); } var dialog=ui.create.dialog('卜天术',[list,'vcard']); var bing=target.countCards('h')<=1; player.chooseButton(dialog,true,function(button){ if(ai.get.effect(target,{name:button.link[2]},player,player)>0){ if(button.link[2]=='bingliang'){ if(bing) return 2; return 0.7; } if(button.link[2]=='lebu'){ return 1; } if(button.link[2]=='guiyoujie'){ return 0.5; } if(button.link[2]=='caomu'){ return 0.3; } return 0.2; } return 0; }).filterButton=function(button){ return !target.hasJudge(button.link[2]); }; 'step 1' var card=game.createCard(result.links[0][2]); event.judgecard=card; target.$draw(card); game.delay(0.7); 'step 2' target.addJudge(event.judgecard); }, ai:{ value:8, useful:[5,1], result:{ player:function(player,target){ var eff=0; for(var i in lib.card){ if(lib.card[i].type=='delay'){ var current=ai.get.effect(target,{name:i},player,player); if(current>eff){ eff=current; } } } return eff; } }, order:6, } }, gw_shizizhaohuan:{ fullborder:'silver', type:'spell', subtype:'spell_silver', vanish:true, enable:true, filterTarget:function(card,player,target){ return target==player; }, selectTarget:-1, // contentBefore:function(){ // player.$skill('十字召唤','legend','water'); // game.delay(2); // }, content:function(){ var list=[]; list.push(get.cardPile('juedou','cardPile')); list.push(get.cardPile('huogong','cardPile')); list.push(get.cardPile('nanman','cardPile')); list.push(get.cardPile('huoshaolianying','cardPile')); list=[list.randomGet()]; var sha=get.cardPile('sha','cardPile'); if(sha){ sha.remove(); list.push(sha); list.push(get.cardPile('sha','cardPile')); } if(list.length){ player.gain(list,'gain2'); } }, ai:{ value:8, useful:[6,1], result:{ player:1 }, order:6, } }, gw_zuihouyuanwang:{ fullborder:'silver', type:'spell', subtype:'spell_silver', vanish:true, enable:true, filterTarget:function(card,player,target){ return target==player; }, selectTarget:-1, // contentBefore:function(){ // player.$skill('最后愿望','legend','water'); // game.delay(2); // }, content:function(){ 'step 0' event.num=game.countPlayer(); player.draw(event.num); 'step 1' player.chooseToDiscard(true,event.num,'he'); }, ai:{ value:6, useful:[4,1], result:{ player:1 }, order:7, } }, gw_zirankuizeng:{ fullborder:'silver', type:'spell', subtype:'spell_silver', vanish:true, enable:function(card,player){ if(!player.storage.gw_zirankuizeng) return false; var evtcard=player.storage.gw_zirankuizeng[0]; var targets=player.storage.gw_zirankuizeng[1]; if(!lib.filter.cardEnabled(evtcard,player)) return false; for(var i=0;i=player.hp; }, content:function(){ 'step 0' target.damage('thunder'); 'step 1' if(target.isIn()){ target.draw(); } }, ai:{ basic:{ order:1.8, value:[6,1], useful:[4,1], }, result:{ target:-1 }, tag:{ damage:1, thunderDamage:1, natureDamage:1, } } }, gw_poxiao:{ fullborder:'bronze', type:'spell', subtype:'spell_bronze', enable:true, notarget:true, content:function(){ 'step 0' var choice=1; if(game.countPlayer(function(current){ if(current.countCards('j')){ if(get.attitude(player,current)>0){ choice=0; } return true; } })){ player.chooseControl().set('choiceList',[ '弃置一名角色判定区内的所有牌', '随机获得一张铜卡法术(破晓除外)并展示之' ],function(){ return choice; }); } else{ event.directfalse=true; } 'step 1' if(!event.directfalse&&result.index==0){ player.chooseTarget(true,'弃置一名角色判定区内的所有牌',function(card,player,target){ return target.countCards('j'); }).ai=function(target){ return get.attitude(player,target)*target.countCards('j'); }; } else{ var list=get.libCard(function(info,name){ return name!='gw_poxiao'&&info.subtype=='spell_bronze'; }); if(list.length){ player.gain(game.createCard(list.randomGet()),'gain2'); } else{ player.draw(); } event.finish(); } 'step 2' if(result.targets[0]){ player.line(result.targets[0],'green'); result.targets[0].discard(result.targets[0].getCards('j')); } }, ai:{ order:4, useful:[3,1], result:{ player:1, } } } }, skill:{ _gw_zirankuizeng:{ trigger:{player:'useCard'}, forced:true, popup:false, silent:true, filter:function(event,player){ if(get.info(event.card).complexTarget) return false; if(!event.targets) return false; return (get.type(event.card)=='trick'&&event.cards[0]&&event.cards[0]==event.card); }, content:function(){ player.storage.gw_zirankuizeng=[trigger.cards[0],trigger.targets.concat(trigger.addedTargets||[])]; } }, _gainspell:{ trigger:{player:'drawBegin'}, forced:true, popup:false, silent:true, priority:-11, filter:function(event,player){ return event.num>0&&event.parent.name=='phaseDraw'; }, content:function(){ if(!player.storage.spell_gain||Math.max.apply(null,player.storage.spell_gain)<0){ var tmp=player.storage.spell_gain2; player.storage.spell_gain=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].randomGets(3); player.storage.spell_gain2=Math.floor((15-Math.max.apply(null,player.storage.spell_gain))/2); if(tmp){ for(var i=0;i<3;i++){ player.storage.spell_gain[i]+=tmp; } } } for(var i=0;i<3;i++){ if(player.storage.spell_gain[i]==0){ var list; if(i==0){ list=get.libCard(function(info){ return info.subtype=='spell_gold'; }); } else{ list=get.libCard(function(info){ return info.subtype=='spell_silver'; }); } if(list&&list.length){ ui.cardPile.insertBefore(game.createCard(list.randomGet()),ui.cardPile.firstChild); } } player.storage.spell_gain[i]--; } } } }, help:{ '昆特牌':'
  • 法术为分金、银、铜三类,金卡和银卡不出现在牌堆中
  • '+ '摸牌阶段有一定概率摸到银卡,在16个摸牌阶段中至少会摸到2张银卡
  • '+ '摸牌阶段有一定概率摸到金卡,在16个摸牌阶段中至少会摸到1张金卡
  • '+ '金卡造成的任何效果不会触发相关技能,金卡无视调虎离山、潜行等免疫效果
  • '+ '进行洗牌时金卡、银卡将从弃牌堆中消失,不进入牌堆' }, translate:{ spell:'法术', spell_gold:'金卡法术', spell_silver:'银卡法术', spell_bronze:'铜卡法术', gw_xinsheng:'新生', gw_xinsheng_info:'随机观看12张武将牌,选择一张替代一名角色的武将牌(不触发技能),然后结束出牌阶段', gw_zhongmozhizhan:'终末之战', gw_zhongmozhizhan_info:'将所有角色区域内的所有牌置入弃牌堆(不触发技能),然后结束出牌阶段', gw_butianshu:'卜天术', gw_butianshu_info:'出牌阶段对任意角色使用,将任意一张延时锦囊牌置入其判定区', gw_zhihuanjun:'致幻菌', gw_zhihuanjun_info:'出牌阶段对一名已受伤角色使用,令其减少一点体力上限', gw_niuquzhijing:'纽曲之镜', gw_niuquzhijing_info:'交换全场体力值最大和最小角色的体力值(不触发技能),然后结束出牌阶段', gw_ansha:'暗杀', gw_ansha_info:'令一名体力为1的随机敌方角立即死亡(不触发技能),然后结束出牌阶段', gw_shizizhaohuan:'十字召唤', gw_shizizhaohuan_info:'从牌堆中获得两张杀以及决斗、火攻、火烧连营、南蛮入侵中的随机一张', gw_zuihouyuanwang:'最后愿望', gw_zuihouyuanwang_info:'摸X张牌并弃置X张牌,X为存活角色数', gw_zirankuizeng:'自然馈赠', gw_zirankuizeng_info:'重新结算一遍你上一张使用的非转化普通锦囊牌,然后摸一张牌', gw_poxiao:'破晓', gw_poxiao_info:'选择一项:弃置一名角色判定区内的所有牌,或随机获得一张铜卡法术(破晓除外)并展示之', gw_zumoshoukao:'阻魔手铐', gw_zumoshoukao_info:'令一名角色失去所有护甲且非锁定技失效直到下一回合结束', gw_aozuzhilei:'奥祖之雷', gw_aozuzhilei_info:'对一名体力值不小于你的角色造成一点雷属性伤害,然后该角色摸一张牌', gw_zhuoshao:'灼烧', gw_zhuoshao_info:'对任意名体力值为全场最高的角色使用,造成一点火属性伤害', gw_fuyuan:'复原', gw_fuyuan_info:'对一名濒死状态角色使用,目标回复一点体力并获得一点护甲', gw_youer:'诱饵', gw_youer_info:'令一名装备区内有牌的其他角色将装备区内的牌收回手牌,然后摸等量的牌', gw_tongdi:'通敌', gw_tongdi_info:'交给一名角色一张手牌,然后观看其手牌并获得其中两张', gw_baoxueyaoshui:'暴雪药水', gw_baoxueyaoshui_info:'令一名角色弃置两张手牌并摸一张牌', gw_birinongwu:'蔽日浓雾', gw_birinongwu_info:'所有角色不能使用杀直到下一回合结束', gw_qinpendayu:'倾盆大雨', gw_qinpendayu_info:'所有角色进入横置状态', gw_cigubingshuang:'刺骨寒霜', gw_cigubingshuang_info:'所有角色下个摸牌阶段摸牌数-1', gw_wenyi:'瘟疫', gw_wenyi_info:'令所有体力值为全场最少的角色随机弃置一张牌', gw_yanziyaoshui:'燕子药水', gw_yanziyaoshui_info:'令一名角色摸一张牌,若其手牌数为全场最少,改为摸三张', gw_guaiwuchaoxue:'怪物巢穴', gw_guaiwuchaoxue_info:'选择手牌中的一张杀、闪或酒,获得两张该牌的复制', gw_shanbengshu:'山崩术', gw_shanbengshu_info:'所有角色随机弃置一张牌', }, cardType:{ spell:0.5, spell_bronze:0.2, spell_silver:0.3, spell_gold:0.4 }, list:[ ['club',3,'gw_zhihuanjun'], ['spade',2,'gw_zhihuanjun'], ['heart',7,'gw_poxiao'], ['diamond',4,'gw_poxiao'], ['spade',9,'gw_aozuzhilei','thunder'], ['club',7,'gw_aozuzhilei','thunder'], ['club',1,'gw_zumoshoukao'], ['spade',1,'gw_zumoshoukao'], ], }; });