diff --git a/character/gujian.js b/character/gujian.js index d93f574c6..cc85e7ee5 100644 --- a/character/gujian.js +++ b/character/gujian.js @@ -8,11 +8,50 @@ character.gujian={ gjqt_hongyu:['female','shu',4,['jianwu','meiying']], gjqt_yuewuyi:['male','wei',4,['yanjia','xiuhua','liuying']], - gjqt_wenrenyu:['female','shu',4,['jizhan','qianjun']], + gjqt_wenrenyu:['female','shu',4,['chizhen','dangping']], gjqt_xiayize:['male','qun',3,['xuanning','liuguang','yangming']], gjqt_aruan:['female','wu',3,['zhaolu','jiehuo','yuling']], }, skill:{ + chizhen:{ + trigger:{player:'phaseUseBegin'}, + frequent:true, + content:function(){ + 'step 0' + event.num=Math.max(1,player.maxHp-player.hp); + player.draw(event.num); + 'step 1' + player.chooseToDiscard('he',event.num,true); + 'step 2' + var useCard=false; + if(result.bool&&result.cards){ + for(var i=0;i=1; + }, + usable:1, + content:function(){ + if(trigger.num>=1){ + trigger.num--; + } + }, + ai:{ + effect:{ + target:function(card,player,target){ + if(get.tag(card,'damage')){ + if(player.hasSkill('jueqing')) return; + return 0.5; + } + } + } + }, + }, + yushou_huofu:{ + enable:'phaseUse', + viewAs:{name:'juedou'}, + filterCard:{color:'black'}, + position:'he', + viewAsFilter:function(player){ + if(!player.num('he',{color:'black'})) return false; + }, + check:function(card){ + return 6-ai.get.value(card); + }, + ai:{ + basic:{ + order:10 + } + } + }, + yushou_leiouke:{ + trigger:{source:'damageBegin'}, + forced:true, + usable:1, + content:function(){ + trigger.num++; + } + }, qingzun:{ subSkill:{ count:{ @@ -2300,6 +2387,7 @@ character.hearth={ return event.parent.name!='jixuan'; }, content:function(){ + player.draw(); player.phase(); }, ai:{ @@ -3294,15 +3382,27 @@ character.hearth={ } }, fengxing:{ - trigger:{player:['useCard']}, - frequent:true, - filter:function(event){ - return event.card&&event.card.name=='sha'; + trigger:{player:'loseEnd'}, + direct:true, + filter:function(event,player){ + return _status.currentPhase!=player&&!player.hasSkill('fengxing2')&&player.num('he')>0; }, content:function(){ - player.draw(); + 'step 0' + player.addTempSkill('fengxing2','phaseAfter'); + player.chooseToDiscard('he',get.prompt('fengxing')).set('ai',function(card){ + return 7-ai.get.value(card); + }).logSkill='fengxing'; + 'step 1' + if(result.bool){ + player.draw(2); + } + }, + ai:{ + threaten:0.6 } }, + fengxing2:{}, fengxian:{ enable:'phaseUse', usable:1, @@ -3664,9 +3764,9 @@ character.hearth={ } }, bianxing2:{}, - moying:{ + zuzhou:{ trigger:{player:'phaseBegin'}, - skillcheck:function(event,player){ + filter:function(event,player){ if(!player.num('h',{suit:'spade'})) return false; for(var i=0;i0; + }).ai=function(target){ + return 1-ai.get.attitude(player,target); + }; "step 1" if(result.bool){ - player.logSkill('jingxiang',event.target); + var target=result.targets[0]; + player.logSkill('jingxiang',target); + event.target=target; + var cards=target.get('h'); + player.chooseCardButton('选择'+get.translation(target)+'的一张卡手牌打出',cards).filterButton=function(button){ + return trigger.filterCard(button.link); + } + } + else{ + event.finish(); + } + "step 2" + if(result.bool){ + game.log(player,'使用了',event.target,'的手牌'); + event.target.$throw(result.links); event.target.lose(result.links); trigger.untrigger(); + trigger.animate=false; trigger.responded=true; result.buttons[0].link.remove(); trigger.result={bool:true,card:result.buttons[0].link} @@ -3895,8 +3986,8 @@ character.hearth={ ai:{ effect:{ target:function(card){ - if(get.tag(card,'respondShan')) return 0.7; - if(get.tag(card,'respondSha')) return 0.7; + if(get.tag(card,'respondShan')) return 0.4; + if(get.tag(card,'respondSha')) return 0.4; } } }, @@ -5248,6 +5339,14 @@ character.hearth={ hs_tyrande:'泰兰德', hs_fenjie:'芬杰', + yushou:'御兽', + yushou_info:'出牌阶段,你可以弃置一张牌并召唤一个随机的野兽宠物,效果持续到你的下一回合开始', + yushou_misha:'米莎', + yushou_misha_info:'你每回合受到的首次伤害-1', + yushou_huofu:'霍弗', + yushou_huofu_info:'你可以将一张黑色牌当作决斗使用', + yushou_leiouke:'雷欧克', + yushou_leiouke_info:'你每回合造成的首次伤害+1', hsqingyu_hufu:'青玉护符', hsqingyu_hufu_info:'令一名角色获得一点护甲', hsqingyu_zhao:'青玉之爪', @@ -5320,7 +5419,7 @@ character.hearth={ maoxian2:'冒险', maoxian_info:'出牌阶段限两次,你可以从三个随机技能中选择一个作为你的技能', tanmi:'探秘', - tanmi_info:'在一名其他角色的回合结束阶段,若你没有手牌,你可以摸两张牌并进行一个出牌阶段', + tanmi_info:'在一名其他角色的回合结束阶段,若你没有手牌,你可以摸两张牌并可以使用摸到的牌', yiwen:'轶闻', yiwen_info:'锁定技,每当其他角色于回合内首次使用卡牌指定你为惟一目标,你获得一张此牌的复制', tanbao_old:'探宝', @@ -5386,7 +5485,7 @@ character.hearth={ qianghua:'绝手', qianghua_info:'出牌阶段内,你可以令一张你使用的基本牌或非延时锦囊牌额外结算一次,每回合限一次', jixuan:'疾旋', - jixuan_info:'锁定技,回合结束后,你进行一个额外的回合', + jixuan_info:'锁定技,回合结束后,你摸一张牌进行一个额外的回合', biri:'蔽日', biri_info:'每当距离你1以内的一名其他角色成为杀的惟一目标时,若杀的使用者不是你,你可以弃置一张闪取消之', stuxi:'吐息', @@ -5476,7 +5575,7 @@ character.hearth={ aoshu_info:'出牌阶段限一次,你可以将一张黑桃牌当作无中生有使用', fengxing:'风行', - fengxing_info:'每当你使用一张杀,你可以摸一张牌', + fengxing_info:'每当你于回合外首次失去牌,你可以弃置一张牌并摸两张牌', xinci:'心刺', xinci_info:'出牌阶段限一次,你可以弃置一张黑色牌令一名角色流失一点体力', zhongjia:'战甲', @@ -5507,11 +5606,11 @@ character.hearth={ mdzhoufu:'缚魂', mdzhoufu2:'缚魂', mdzhoufu_info:'出牌阶段,你可以将一张黑色手牌置于一名其他角色的武将牌上,在其判定时以此牌作为判定结果,然后你获得亮出的判定牌', - moying:'诅咒', - moying_info:'锁定技,回合开始阶段,若场上没有闪电且你手牌中有黑桃牌,你将牌堆中的一张闪电置于你的判定区,否则你摸一张牌', - moying_old_info:'每当你造成或受到一次伤害,你可以令伤害目标或来源进行一次判定,若结果为黑色,其流失一点体力', + zuzhou:'诅咒', + zuzhou_info:'锁定技,回合开始阶段,若场上没有闪电且你手牌中有黑桃牌,你将牌堆中的一张闪电置于你的判定区', + zuzhou_old_info:'每当你造成或受到一次伤害,你可以令伤害目标或来源进行一次判定,若结果为黑色,其流失一点体力', jingxiang:'镜像', - jingxiang_info:'每当你需要打出卡牌时,你可以观看一名随机角色的手牌并将其视为你的手牌打出', + jingxiang_info:'每回合限一次,当你需要打出卡牌时,你可以观看一名角色的手牌并将其视为你的手牌打出', tuteng:'图腾', tuteng_info:'出牌阶段,你可以获得一个随机图腾;每当你受到一次伤害,你随机失去一个图腾', zuling:'祖灵', diff --git a/character/rank.js b/character/rank.js index 92c9b5790..dcf5fe493 100644 --- a/character/rank.js +++ b/character/rank.js @@ -19,6 +19,7 @@ window.characterRank={ ], ap:[ 'swd_huiyan', + 'hs_medivh', 'ow_dva', 'ow_mei', 'ow_yuanshi', @@ -82,7 +83,6 @@ window.characterRank={ 'swd_hengai', 'jg_liubei', 're_huangyueying', - 'hs_medivh', 'hs_bchillmaw', 'shen_zhugeliang', 'gjqt_fanglansheng', @@ -133,6 +133,7 @@ window.characterRank={ 'huangzhong', 'pal_wangpengxu', 'yxs_luobinhan', + 'hs_alleria', ], am:[ 'swd_duanmeng', @@ -294,7 +295,6 @@ window.characterRank={ 'wutugu', 'swd_chunyuheng', 'hetaihou', - 'hs_alleria', 'swd_fengtianling', 'kongrong', 'swd_qiner', diff --git a/character/shenhua.js b/character/shenhua.js index 75f0611d2..8e1ae993e 100644 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -193,6 +193,9 @@ character.shenhua={ content:function(){ if(trigger.target.num('h')<=player.num('h')) trigger.directHit=true; if(trigger.target.hp>=player.hp) player.addTempSkill('xinliegong2','shaAfter'); + }, + ai:{ + threaten:0.5 } }, xinliegong2:{ diff --git a/character/swd.js b/character/swd.js index f8e3b7a16..73bca1848 100644 --- a/character/swd.js +++ b/character/swd.js @@ -3060,7 +3060,7 @@ character.swd={ trigger:{source:'damageAfter'}, direct:true, filter:function(event,player){ - return event.parent.name!='dangping'&&!player.hasSkill('dangping2'); + return event.parent.name!='dangping'&&!player.hasSkill('dangping2')&&player.num('he')>0; }, content:function(){ "step 0" @@ -8619,7 +8619,7 @@ character.swd={ xielei:'挟雷', xielei_info:'每当你使用或打出一张杀,可以弃置一张牌并对目标以外的一名角色造成一点雷电伤害', dangping:'荡平', - dangping_info:'每当你造成一次伤害,可以弃置一张手牌对其距离1以内的另一名角色造成一点伤害', + dangping_info:'每当你造成一次伤害,可以弃置一张手牌对其距离1以内的另一名角色造成一点伤害,每回合限一次', guisi:'归思', guisi_info:'每当你成为杀的目标,你可以交给对方一张手牌并取消之', duishi:'对诗', diff --git a/game/game.js b/game/game.js index c9946eab0..fe2fae6a8 100644 --- a/game/game.js +++ b/game/game.js @@ -5021,6 +5021,14 @@ window._status=_status; }, p:function(name,i){ + var list=['swd','hs','pal','gjqt','ow']; + if(!lib.character[name]){ + for(var j=0;jversion1[i]){ files=false;break; @@ -28563,16 +28572,12 @@ if(node.node.hp.childNodes.length==0){ node.node.name.style.top='8px'; } - // var name=get.translation(item); node.node.name.innerHTML=get.slimName(item); if(node.node.name.querySelectorAll('br').length>=4){ node.node.name.classList.add('long'); node.addEventListener('mouseenter',ui.click.buttonnameenter); node.addEventListener('mouseleave',ui.click.buttonnameleave); } - // for(var i=0;i'; - // } node.node.intro.innerHTML=lib.config.intro; if(!noclick){ if(lib.config.touchscreen){ @@ -32816,7 +32821,7 @@ default: return 1; } }, - cardPile:function(name){ + cardPile:function(name,create){ var card; for(var i=0;i