'use strict'; character.hearth={ character:{ hs_jaina:['female','wei',3,['huopu','bianxing','bingjia'],['fullskin']], hs_lrexxar:['male','qun',4,['shoulie','gongji'],['fullskin']], hs_wuther:['male','qun',4,['fengxian','jieming'],['fullskin']], hs_jgarrosh:['male','qun',4,['zhanhou','qiangxi'],['fullskin']], hs_malfurion:['male','wu',4,['jihuo'],['fullskin']], hs_guldan:['male','qun',3,['fenliu','hongxi'],['fullskin']], hs_anduin:['male','qun',3,['shengguang','shijie','anying'],['fullskin']], hs_sthrall:['male','wu',4,['tuteng','tzhenji'],['fullskin']], hs_waleera:['female','qun',3,['jianren','mengun','wlianji'],['fullskin']], hs_medivh:['male','wei',3,['jingxiang','moying','mdzhoufu'],['fullskin']], hs_alleria:['male','wu',3,['fengxing','qiaodong','liegong'],['fullskin']], hs_magni:['male','qun',4,['zhongjia','dunji'],['fullskin']], hs_neptulon:['male','wu',4,['liechao','qingliu'],['fullskin']], hs_wvelen:['male','qun',3,['shengyan','xianzhi'],['fullskin']], hs_antonidas:['male','wei',3,['yanshu','bingshuang'],['fullskin']], hs_alakir:['male','wei',3,['fengnu','shengdun'],['fullskin']], hs_zhouzhuo:['male','qun',3,['jubao','qice'],['fullskin']], hs_yngvar:['male','qun',3,['huanwu'],['fullskin']], hs_bchillmaw:['male','wei',6,['hanshuang','bingshi'],['fullskin']], hs_malorne:['male','wu',3,['enze','chongsheng'],['fullskin']], hs_ronghejuren:['male','shu',8,[],['fullskin']], hs_wujiyuansu:['male','qun',3,['wujiwuji'],['fullskin']], hs_mijiaojisi:['female','qun',3,['kuixin'],['fullskin']], hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu'],['fullskin']], hs_tgolem:['male','qun',4,['guozai'],['fullskin']], hs_totemic:['male','wu',3,['s_tuteng'],['fullskin']], }, perfectPair:{ hs_sthrall:['hs_totemic','hs_alakir','hs_neptulon','hs_yngvar','hs_tgolem'], hs_anduin:['hs_wvelen','hs_mijiaojisi'], hs_jaina:['hs_antonidas'], hs_malfurion:['hs_malorne'], }, skill:{ enze:{ enable:'phaseUse', usable:1, filterTarget:function(card,player,target){ return player.num('h')!=target.num('h'); }, content:function(){ var num=player.num('h')-target.num('h'); if(num>0){ target.draw(num); } else if(num<0){ target.chooseToDiscard(-num,true); } }, ai:{ threaten:1.8, order:function(name,player){ return 10; }, result:{ target:function(player,target){ return player.num('h')-target.num('h'); } }, expose:0.2 } }, chongsheng:{ unique:true, enable:'chooseToUse', mark:true, init:function(player){ player.storage.chongsheng=0; }, filter:function(event,player){ if(event.type!='dying') return false; if(player!=_status.dying) return false; if(player.storage.chongsheng==3) return false; }, content:function(){ player.hp=Math.min(3-player.storage.chongsheng,player.maxHp); player.discard(player.get('hej')); player.draw(3-player.storage.chongsheng); player.storage.chongsheng++; if(player.storage.chongsheng==3){ player.unmarkSkill('chongsheng'); } if(player.classList.contains('linked')) player.link(); if(player.classList.contains('turnedover')) player.turnOver(); }, ai:{ skillTagFilter:function(player){ if(player.storage.chongsheng==3) return false; if(player.hp>0) return false; }, save:true, result:{ player:10 }, threaten:function(player,target){ if(target.storage.chongsheng<3) return 0.6; } }, intro:{ content:function(storage){ return '剩余'+get.cnNumber(3-storage)+'次'; } } }, guozai:{ enable:'phaseUse', usable:2, filter:function(event,player){ return player.num('h')<4; }, init:function(player){ player.storage.guozai2=0; }, content:function(){ var num=4-player.num('h'); player.draw(num); player.addSkill('guozai2'); player.storage.guozai2+=num; }, ai:{ order:1, result:{ player:1 } } }, guozai2:{ mark:true, intro:{ content:function(storage){ return '需弃置'+get.cnNumber(storage)+'张牌'; } }, trigger:{player:'phaseUseEnd'}, forced:true, content:function(){ player.chooseToDiscard('he',true,player.storage.guozai2); player.storage.guozai2=0; player.removeSkill('guozai2'); } }, hanshuang:{ trigger:{source:'damageEnd'}, forced:true, filter:function(event,player){ return event.card&&get.color(event.card)=='black'&& !event.player.isTurnedOver()&&event.player.isAlive(); }, content:function(){ trigger.player.turnOver(); player.loseHp(); }, ai:{ threaten:1.5, effect:{ player:function(card,player,target,current){ if(get.color(card)=='black'&&get.tag(card,'damage')){ console.log(1); return [1,0,1,-2]; } } } } }, bingshi:{ trigger:{player:'dieBegin'}, forced:true, content:function(){ 'step 0' event.targets=get.players(player); event.targets.remove(player); 'step 1' if(event.targets.length){ event.targets.shift().damage(); event.redo(); } } }, huanwu:{ enable:'phaseUse', usable:1, filterTarget:function(card,player,target){ return !target.storage.huanwu; }, content:function(){ target.gainMaxHp(); target.recover(); target.draw(2); target.storage.huanwu=true; target.mark('huanwu',{ name:'唤雾', content:'已发动' }); }, ai:{ threaten:1.2, result:{ target:function(player,target){ return 1/target.hp; } }, order:10, expose:0.3 } }, fengnu:{ mod:{ cardUsable:function(){ return Infinity; }, targetInRange:function(){ return true; } }, trigger:{player:'useCard'}, filter:function(event,player){ if(_status.currentPhase!=player) return false; return get.cardCount(event.card,player)>1; }, forced:true, content:function(){ player.draw(); } }, shengdun:{ trigger:{player:'phaseBegin'}, forced:true, silent:true, popup:false, priority:10, init2:function(player){ player.markSkill('shengdun'); }, content:function(){ if(player.storage.shengdun){ player.markSkill('shengdun'); } player.storage.shengdun=false; }, intro:{ content:'未发动' }, group:'shengdun2' }, shengdun2:{ trigger:{player:'damageBegin'}, forced:true, filter:function(event,player){ return event.num>0&&!player.storage.shengdun; }, content:function(){ trigger.num--; player.storage.shengdun=true; player.unmarkSkill('shengdun'); } }, jingmeng:{ trigger:{player:'useCard'}, frequent:true, filter:function(event,player){ return _status.currentPhase==player&&get.cardCount(true,player)==1; }, content:function(){ var type=get.type(trigger.card); var card=get.cardPile(function(card){ return get.type(card)==type; }); if(card){ player.gain(card,'gain2'); game.log(get.translation(player)+'获得了'+get.translation(card)); } }, ai:{ threaten:1.1 } }, kuixin:{ trigger:{player:'phaseEnd'}, direct:true, filter:function(event,player){ var nh=player.num('h'); var nm=1; for(var i=0;i0; }, content:function(){ player.draw(get.cardCount(true,player)); }, ai:{ threaten:1.3 } }, bingshuang:{ trigger:{source:'damageEnd'}, filter:function(event,player){ return event.card&&get.type(event.card)=='trick'&& event.player.isAlive()&&!event.player.isTurnedOver(); }, prompt:function(event,player){ return '是否对'+get.translation(event.player)+'发动【冰霜】?'; }, check:function(event,player){ return ai.get.attitude(player,event.player)<=0; }, content:function(){ trigger.player.draw(2); trigger.player.turnOver(); } }, yanshu:{ enable:'phaseUse', usable:1, filter:function(event,player){ return player.num('h',{type:'basic'})0; }, content:function(){ trigger.player.recover(); player.addTempSkill('shengyan2','phaseAfter'); }, ai:{ expose:0.2 } }, shengyan2:{}, liechao:{ enable:'phaseUse', usable:1, filter:function(event,player){ return !player.isTurnedOver()&&player.num('h')<=player.hp; }, content:function(){ player.draw(4); player.turnOver(); player.skip('phaseDiscard'); }, ai:{ order:10, result:{ player:1 } } }, qingliu:{ trigger:{player:'damageBefore'}, filter:function(event){ return event.nature=='fire'; }, forced:true, content:function(){ trigger.untrigger(); trigger.finish(); }, ai:{ nofire:true, effect:{ target:function(card,player,target,current){ if(get.tag(card,'fireDamage')) return 0; } } } }, zhongjia:{ trigger:{player:'damageEnd'}, forced:true, filter:function(event){ return event.num>0; }, content:function(){ player.changeHujia(); }, ai:{ nohujia:true, skillTagFilter:function(player){ return player.hp>1; }, threaten:function(player,target){ if(!target.hujia) return 0.8; }, effect:{ target:function(card,player){ if(get.tag(card,'damage')){ if(player.skills.contains('jueqing')) return [1,-1]; return 0.8; } } } } }, dunji:{ enable:'phaseUse', filter:function(event,player){ return player.hujia?true:false; }, filterTarget:function(card,player,target){ return player!=target; }, selectTarget:function(){ return [1,_status.event.player.hujia]; }, content:function(){ if(target==targets[0]){ player.changeHujia(-player.hujia); } target.damage(); }, ai:{ order:9, result:{ target:function(player,target){ return ai.get.damageEffect(target,player,target)+0.5; } } } }, fengxing:{ trigger:{player:['useCard']}, frequent:true, filter:function(event){ return event.card&&event.card.name=='sha'; }, content:function(){ player.draw(); } }, fengxian:{ enable:'phaseUse', usable:1, filterTarget:function(card,player,target){ return target.num('h')>0; }, selectTarget:-1, content:function(){ target.chooseToDiscard(true); }, ai:{ order:8, result:{ target:function(player,target){ var nh=target.num('h'); switch(nh){ case 0:return 0; case 1:return -1.5; case 2:return -1.3; case 3:return -1; default:return -0.8; } } } } }, qiaodong:{ enable:['chooseToRespond'], filterCard:{type:'equip'}, filter:function(event,player){ return player.num('he',{type:'equip'})>0; }, viewAs:{name:'shan'}, position:'he', prompt:'将一张装备牌当闪使用或打出', check:function(){return 1}, ai:{ respondShan:true, skillTagFilter:function(player){ if(!player.num('he',{type:'equip'})) return false; } } }, zhanhou:{ init:function(player){ player.forcemin=true; }, enable:'phaseUse', filterCard:{type:'equip'}, filter:function(event,player){ return player.num('h',{type:'equip'})>0; }, check:function(){ return 1; }, content:function(){ player.changeHujia(); }, ai:{ order:2, result:{ player:1 } }, mod:{ globalFrom:function(from,to,distance){ return distance-from.hujia; } }, }, shijie:{ trigger:{player:'phaseEnd'}, direct:true, filter:function(event,player){ for(var i=0;i0; }).ai=function(target){ return 11-ai.get.attitude(player,target); }; 'step 1' if(result.bool){ player.logSkill('shijie',result.targets); var target=result.targets[0]; player.gain(target.get('h').randomGet()); event.target=target; target.$give(1,player); game.delay(); event.target.draw(); } }, ai:{ expose:0.1 } }, shengguang:{ enable:'phaseUse', filterCard:{color:'red'}, filter:function(event,player){ return player.num('he',{color:'red'})>0; }, position:'he', usable:1, check:function(card){ return 9-ai.get.value(card) }, filterTarget:function(card,player,target){ if(player.storage.anying) return true; if(target.hp>=target.maxHp) return false; return true; }, content:function(){ 'step 0' if(player.storage.anying){ target.loseHp(); event.finish(); } else{ target.recover(); } 'step 1' if(target.hpplayer.hp) return 5; return 2; } }, threaten:2, expose:0.2 } }, xinci:{ enable:'phaseUse', filterCard:{color:'black'}, filter:function(event,player){ return player.num('he',{color:'black'})>0; }, position:'he', usable:1, mark:true, intro:{ content:'已进入暗影形态' }, check:function(card){ return 9-ai.get.value(card) }, filterTarget:true, content:function(){ target.loseHp(); }, ai:{ order:9, result:{ target:-1 }, threaten:2, expose:0.2 } }, anying:{ unique:true, enable:'phaseUse', filter:function(event,player){ return !player.storage.anying&&player.num('he',{color:'black'})>1; }, selectCard:2, filterCard:{color:'black'}, position:'he', check:function(card){ return 5-ai.get.value(card); }, content:function(){ player.storage.anying=true; player.removeSkill('shengguang'); player.addSkill('xinci'); }, ai:{ order:1, result:{ player:1 } } }, bianxing:{ trigger:{global:'useCard'}, filter:function(event,player){ if(player.skills.contains('bianxing2')) return false; if(event.player==player) return false; if(_status.currentPhase!=event.player) return false; if(!event.targets) return false; if(event.targets.length!=1) return false; if(event.targets[0]==event.player) return false; var hs=player.get('h'); for(var i=0;i=0) return 0; if(card.name=='tao'||card.name=='caoyao'){ if(trigger.targets[0].hp==trigger.targets[0].maxHp) return 0; } if(eff>=0) return 0; return ai.get.effect(trigger.targets[0],card,trigger.player,player); }; 'step 1' if(result.bool){ var card=result.cards[0]; player.lose(result.cards); event.cards=result.cards; player.logSkill('bianxing',trigger.player); game.log(get.translation(player)+'将'+get.translation(trigger.card.name)+'变为'+get.translation(result.cards)); game.delay(0.5); trigger.untrigger(); trigger.card=card; trigger.cards=[card]; player.addTempSkill('bianxing2','phaseAfter'); } else{ event.finish(); } 'step 2' player.$throw(event.cards); game.delay(); 'step 3' // player.draw(); 'step 4' trigger.trigger('useCard'); }, ai:{ expose:0.2, threaten:1.8 } }, bingjia:{ enable:'phaseUse', filter:function(event,player){ return !player.skills.contains('bingjia2'); }, filterCard:true, check:function(card){ return 6-ai.get.value(card); }, discard:false, prepare:function(cards,player){ player.$give(1,player); }, content:function(){ player.storage.bingjia=cards[0]; player.addSkill('bingjia2'); }, ai:{ order:1, result:{ player:1 } } }, bingjia2:{ mark:true, trigger:{target:'useCardToBegin'}, forced:true, filter:function(event,player){ return event.player!=player&&get.suit(event.card)==get.suit(player.storage.bingjia); }, content:function(){ 'step 0' player.showCards([player.storage.bingjia],get.translation(player)+'发动了【冰甲】'); 'step 1' ui.discardPile.appendChild(player.storage.bingjia); delete player.storage.bingjia; player.changeHujia(); player.removeSkill('bingjia2'); }, intro:{ mark:function(dialog,content,player){ if(player==game.me||player.isUnderControl()){ dialog.add([player.storage.bingjia]); } else{ return '已发动冰甲'; } }, content:function(content,player){ if(player==game.me||player.isUnderControl()){ return get.translation(player.storage.bingjia); } return '已发动冰甲'; } } }, bianxing2:{}, moying:{ trigger:{player:'phaseBegin'}, skillcheck:function(event,player){ if(!player.num('h',{suit:'spade'})) return false; for(var i=0;i0; }, filterTarget:function(card,player,target){ return player!=target&&!target.skills.contains('mdzhoufu2'); }, prepare:function(cards,player){ player.$throw(cards); }, discard:false, content:function(){ target.$gain2(cards); target.storage.mdzhoufu2=cards[0]; target.addSkill('mdzhoufu2'); target.storage.mdzhoufu3=player; ui.special.appendChild(cards[0]); }, check:function(card){ if(get.suit(card)=='spade'&&card.number>=2&&card.number<=9){ return 6-ai.get.value(card); } return -1; }, ai:{ tag:{ rejudge:0.1, }, threaten:1.5, expose:0.1, order:10, result:{ target:-1 } } }, mdzhoufu2:{ trigger:{player:'judge'}, forced:true, priority:10, mark:'card', content:function(){ "step 0" ui.discardPile.appendChild(player.storage.mdzhoufu2); player.$throw(player.storage.mdzhoufu2); if(player.storage.mdzhoufu3.isAlive()){ // player.storage.mdzhoufu3.draw(); player.storage.mdzhoufu3.gain(player.judging,'gain2'); } else{ game.delay(1.5); } "step 1" player.judging=player.storage.mdzhoufu2; trigger.position.appendChild(player.storage.mdzhoufu2); // trigger.untrigger(); game.log(get.translation(player)+'的判定牌改为'+get.translation(player.storage.mdzhoufu2)); player.removeSkill('mdzhoufu2'); delete player.storage.mdzhoufu2; delete player.storage.mdzhoufu3; }, intro:{ content:'card' }, }, moying_old:{ trigger:{player:'damageEnd',source:'damageEnd'}, check:function(event,player){ var target=(player==event.player)?event.source:event.player; return ai.get.attitude(player,target)<0; }, filter:function(event,player){ var target=(player==event.player)?event.source:event.player; return target.isAlive(); }, prompt:function(event,player){ var target=(player==event.player)?event.source:event.player; return '是否对'+get.translation(target)+'发动【魔影】?'; }, content:function(){ "step 0" event.target=(player==trigger.player)?trigger.source:trigger.player; event.target.judge(function(card){ return get.color(card)=='black'?-1:0; }); "step 1" if(result.color=='black'){ event.target.loseHp(); } }, ai:{ expose:0.1, threaten:1.3 } }, xianzhi:{ trigger:{global:'judgeBegin'}, direct:true, filter:function(){ return ui.cardPile.childNodes.length>1; }, content:function(){ 'step 0' var str=''; if(trigger.card) str=get.translation(trigger.card.viewAs||trigger.card.name); else if(trigger.skill) str=get.translation(trigger.skill); else str=get.translation(trigger.parent.name); var cards=[ui.cardPile.childNodes[0],ui.cardPile.childNodes[1]]; var att=ai.get.attitude(player,trigger.player); var delta=trigger.judge(ui.cardPile.childNodes[1])-trigger.judge(ui.cardPile.childNodes[0]); player.chooseControl('调换顺序','cancel', ui.create.dialog('先知:'+get.translation(trigger.player)+'的'+str+'判定',cards,'hidden')).ai=function(){ if(att*delta>0) return '调换顺序'; else return 'cancel'; }; 'step 1' if(result.control=='调换顺序'){ player.logSkill('xianzhi'); var card=ui.cardPile.firstChild; ui.cardPile.removeChild(card); ui.cardPile.insertBefore(card,ui.cardPile.firstChild.nextSibling); game.log(get.translation(player)+'调换了牌堆顶两张牌的顺序'); } }, ai:{ expose:0.1, tag:{ rejudge:0.5 } } }, jingxiang:{ trigger:{player:'chooseToRespondBegin'}, direct:true, filter:function(event,player){ if(event.responded) return false; for(var i=0;iplayer.hp; }, content:function(){ player.draw(2); }, init:function(player){player.storage.jingce=true}, intro:{ content:function(storage,player){ if(_status.currentPhase==player) return '已使用'+get.cardCount(true,player)+'张牌'; } } }, mengun:{ trigger:{global:'useCardToBefore'}, priority:12, filter:function(event,player){ if(event.player==player) return false; if(_status.currentPhase!=event.player) return false; if(event.player.skills.contains('mengun2')) return false; if(get.itemtype(event.card)!='card') return false; if(!player.num('h',{suit:get.suit(event.card)})) return false; return get.type(event.card)=='basic'; }, direct:true, content:function(){ "step 0" var val=ai.get.value(trigger.card); var suit=get.suit(trigger.card); var eff=ai.get.effect(trigger.target,trigger.card,trigger.player,player); player.chooseToDiscard('是否对'+get.translation(trigger.player)+'使用的'+get.translation(trigger.card)+'发动【闷棍】?',function(card){ return get.suit(card)==suit; }).ai=function(card){ if(eff>=0) return 0; return Math.min(8,1+val)-ai.get.value(card); } "step 1" if(result.bool){ player.logSkill('mengun',trigger.player); game.log(get.translation(trigger.player)+'收回了'+get.translation(trigger.cards)); trigger.untrigger(); trigger.finish(); game.delay(); } else{ event.finish(); } "step 2" trigger.player.$gain2(trigger.cards); trigger.player.gain(trigger.cards); trigger.player.storage.mengun2=trigger.cards[0]; trigger.player.addTempSkill('mengun2','phaseEnd'); } }, mengun2:{ mark:'card', mod:{ cardEnabled:function(card,player){ if(card==player.storage.mengun2) return false; }, }, intro:{ content:'card', onunmark:function(storage,player){ delete player.storage.mengun2; } }, }, jianren:{ enable:'phaseUse', usable:1, filter:function(event,player){ return player.get('e','1')?true:false; }, filterCard:function(card,player){ return card==player.get('e','1'); }, position:'e', filterTarget:function(card,player,target){ return target!=player; }, selectCard:-1, selectTarget:-1, content:function(){ target.damage(); }, ai:{ order:9, result:{ target:function(player,target){ return ai.get.damageEffect(target,player,target); } } } }, jihuo:{ trigger:{player:'phaseEnd'}, filter:function(event,player){ return !player.storage.jihuo&&player.num('h')>0; }, direct:true, content:function(){ "step 0" player.chooseToDiscard('是否发动【激活】?').ai=ai.get.unuseful2; "step 1" if(result.bool){ player.logSkill('jihuo'); player.storage.jihuo=true; } else{ event.finish(); } "step 2" player.phase(); "step 3" player.storage.jihuo=false; }, ai:{ threaten:1.2 } }, tzhenji:{ trigger:{player:'discardAfter'}, direct:true, filter:function(event,player){ if(player.skills.contains('tzhenji2')){ return false; } if(event.cards){ for(var i=0;i0; return ai.get.damageEffect(target,player,player,'thunder')-(bool?1:0); }; "step 1" if(result.bool){ game.delay(0.5); var target=result.targets[0]; player.logSkill('tzhenji',target,'thunder'); target.damage('thunder'); var cs=target.get('he'); if(cs.length){ target.discard(cs.randomGet()); } player.addTempSkill('tzhenji2','phaseAfter'); } }, ai:{ threaten:1.2, expose:0.3, effect:{ target:function(card,player,target){ if(get.tag(card,'loseCard')&&target.num('he')){ return 0.7; } } }, } }, tzhenji2:{}, tzhenji_old:{ trigger:{player:['useCard','respondEnd']}, filter:function(event){ return get.suit(event.card)=='spade'; }, direct:true, content:function(){ "step 0"; player.chooseTarget('是否发动【震击】?').ai=function(target){ return ai.get.damageEffect(target,player,player,'thunder')-1; }; "step 1" if(result.bool){ player.logSkill('tzhenji',result.targets,'thunder'); event.target=result.targets[0]; event.target.judge(); } else{ event.finish(); } "step 2" if(result.color=='red'){ event.target.damage('fire'); } else{ event.target.damage('thunder'); var cs=event.target.get('he'); if(cs.length){ event.target.discard(cs.randomGet()); } cs=player.get('he'); if(cs.length){ player.discard(cs.randomGet()); } } }, ai:{ expose:0.2, threaten:1.2, effect_old:{ target:function(card,player,target){ if(get.tag(card,'respondShan')){ var hastarget=false; for(var i=0;i1){ return [0,hastarget?1:0]; } if(ns&&nh>=2){ return [0,0]; } if(nh>3){ return [0,0]; } if(nh==0){ return 1.5; } return [1,0.05]; } } } } }, tuteng_s:{ trigger:{player:'phaseUseBegin'}, forced:true, filter:function(event,player){ var rand=['tuteng1','tuteng2','tuteng3','tuteng4']; for(var i=0;i0; }, trigger:{source:'damageAfter'}, forced:true, content:function(){ player.draw(trigger.num); } }, tuteng3:{ mark:'image', intro:{ content:'你受到的伤害-1' }, trigger:{player:'damageBegin'}, forced:true, filter:function(event){ return event.num>0; }, content:function(){ trigger.num--; }, }, tuteng4:{ mark:'image', intro:{ content:'你的锦囊牌造成的伤害+1' }, trigger:{source:'damageBegin'}, forced:true, filter:function(event){ return event.card&&get.type(event.card)=='trick'&&event.parent.name!='_lianhuan'&&event.parent.name!='_lianhuan2'; }, content:function(){ trigger.num++; } }, tuteng5:{ mark:'image', intro:{ content:'回合结束阶段,你摸一张牌' }, trigger:{player:'phaseEnd'}, forced:true, content:function(){ player.draw(); } }, tuteng6:{ mark:'image', intro:{ content:'你的杀造成的伤害+1' }, trigger:{source:'damageBegin'}, forced:true, filter:function(event){ return event.card&&event.card.name=='sha'&&event.parent.name!='_lianhuan'&&event.parent.name!='_lianhuan2'; }, content:function(){ trigger.num++; } }, tuteng7:{ mark:'image', intro:{ content:'回合结束阶段,你令一名其他角色回复一点体力' }, trigger:{player:'phaseEnd'}, direct:true, filter:function(event,player){ for(var i=0;i=player.hp-1) return -1; if(player.hp<3) return -1; return 1; } }, effect:{ target:function(card){ if(get.tag(card,'damage')||get.tag(card,'loseHp')){ return 1.5; } } }, threaten:1.2 } }, hongxi:{ trigger:{global:'dieAfter'}, filter:function(event,player){ return player.hp