diff --git a/character/gwent.js b/character/gwent.js index c42713927..25e447e85 100644 --- a/character/gwent.js +++ b/character/gwent.js @@ -23,7 +23,7 @@ character.gwent={ gw_jieluote:['male','qun',6,['fayin']], gw_yenaifa:['female','qun',3,['xuezhou']], gw_telisi:['female','wei',3,['huandie']], - gw_xili:['female','qun',3,['fengjian']], + gw_xili:['female','wu',3,['fengjian']], gw_luoqi:['male','wei',4,['gwzhanjiang']], gw_yioufeisi:['male','wu',4,['gwchuanxin']], }, @@ -173,7 +173,7 @@ character.gwent={ result:{ target:function(player,target){ if(player.getEquip('tengjia')||player.getEquip('bagua')) return -1; - if(ai.get.effect(target,{name:'sha'},player,player)>=0) return -1; + if(ai.get.effect(player,{name:'sha'},target,player)>=0) return -1; if(!player.hasShan()){ if(ui.selected.targets.length) return 0; if(player.hp>=4) return -1; @@ -372,11 +372,10 @@ character.gwent={ direct:true, filter:function(event,player){ var type=get.type(event.card,'trick'); - return (type=='trick'||type=='equip')&&game.hasPlayer(function(current){ + return type=='trick'&&game.hasPlayer(function(current){ return player.canUse('sha',current,false)&&!event.targets.contains(current); }); }, - usable:2, content:function(){ "step 0" player.chooseTarget(get.prompt('fengjian'),function(card,player,target){ @@ -388,26 +387,27 @@ character.gwent={ if(result.bool){ player.logSkill('fengjian'); player.useCard({name:'sha',nature:'thunder'},result.targets,false); + player.addTempSkill('qianxing',{player:'phaseBegin'}); } }, ai:{ expose:0.2, threaten:1.5 }, - group:'fengjian_hide', - subSkill:{ - hide:{ - trigger:{source:'damageEnd'}, - forced:true, - popup:false, - filter:function(event,player){ - return event.getParent(3).name=='fengjian'; - }, - content:function(){ - player.addTempSkill('qianxing',{player:'phaseBegin'}); - } - } - } + // group:'fengjian_hide', + // subSkill:{ + // hide:{ + // trigger:{source:'damageEnd'}, + // forced:true, + // popup:false, + // filter:function(event,player){ + // return event.getParent(3).name=='fengjian'; + // }, + // content:function(){ + // player.addTempSkill('qianxing',{player:'phaseBegin'}); + // } + // } + // } }, huandie:{ trigger:{player:'phaseBegin'}, @@ -838,7 +838,7 @@ character.gwent={ gwchuanxin:'穿心', gwchuanxin_info:'每当你对一名角色使用杀结算完毕后,你可以进行一判定,若结果为黑色,视为对目标再使用一张杀', fengjian:'风剑', - fengjian_info:'每当你使用一张锦囊牌或装备牌,你可以视为对一名不是此牌目标的角色使用一张雷杀;若此杀造成伤害,你获得潜行直到下一回合开始,每回合最多发动两次', + fengjian_info:'每当你使用一张锦囊牌,你可以视为对一名不是此牌目标的角色使用一张雷杀,若如此做,你获得潜行直到下一回合开始', huandie:'幻蝶', huandie_info:'准备阶段,你可以摸一张牌,并令任意名其他角色摸两张牌,若如此做,此回合结束时,所有手牌数大于体力值的角色需弃置两张手牌', xuezhou:'血咒', diff --git a/character/hearth.js b/character/hearth.js index 9f1f7a428..5347e920e 100644 --- a/character/hearth.js +++ b/character/hearth.js @@ -39,7 +39,7 @@ character.hearth={ hs_ysera:['female','wu',4,['chenshui']], hs_alextrasza:['female','shu',5,['fushi']], hs_nozdormu:['male','qun',5,['shixu']], - // hs_sapphiron:['male','wei',4,['bingdong','stuxi']], + hs_sapphiron:['male','wei',4,['bingdong','stuxi']], hs_kchromaggus:['male','wei',4,['fenlie']], hs_lreno:['male','shu',4,['tanmi']], hs_brann:['male','shu',3,['qianghua']], @@ -59,13 +59,13 @@ character.hearth={ hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu']], // hs_tgolem:['male','wu',4,['xinwuyan','guozai']], hs_totemic:['male','wu',3,['peiyu']], - // hs_wujiyuansu:['male','wu',3,['s_tuteng']], + hs_wujiyuansu:['male','wei',3,['hswuji']], hs_xsylvanas:['female','qun',3,['busi','xshixin','xmojian']], hs_siwangzhiyi:['male','qun',12,['mieshi']], hs_bilanyoulong:['male','wei',4,['lingzhou']], hs_jinglinglong:['male','wu',3,['mianyi']], // hs_ruanniguai:['male','wu',3,['nianfu']], - // hs_hudunren:['male','shu',3,['hhudun']], + hs_hudunren:['male','shu',2,['hhudun']], hs_nate:['male','wu',4,['chuidiao']], hs_jiaziruila:['male','wu',4,['hannu']], // hs_shifazhe:['male','wei',3,['jizhi','shifa']], @@ -170,6 +170,20 @@ character.hearth={ hs_malfurion:['hs_malorne'], }, skill:{ + lianzhan:{ + trigger:{source:'damageEnd'}, + forced:true, + content:function(){ + if(player.getStat().damage>trigger.num){ + player.gainMaxHp(); + player.recover(); + } + else{ + player.draw(2); + } + } + }, + lianzhan2:{}, kuixin:{ trigger:{player:'phaseEnd'}, direct:true, @@ -2878,15 +2892,37 @@ character.hearth={ }, }, hhudun:{ - trigger:{player:'phaseBegin'}, + trigger:{global:'phaseBegin'}, forced:true, filter:function(event,player){ - return player.hujia<3; + return !player.hujia; }, content:function(){ player.changeHujia(); - player.update(); }, + group:'hhudun_hujia', + subSkill:{ + hujia:{ + trigger:{player:'damageZero'}, + filter:function(event){ + return event.hujia; + }, + forced:true, + content:function(){ + player.draw(); + } + } + }, + ai:{ + threaten:function(player,target){ + if(target.hujia){ + return 0.5; + } + else{ + return 2; + } + } + } }, fenlie:{ audio:2, @@ -3102,20 +3138,61 @@ character.hearth={ stuxi:{ trigger:{player:'phaseEnd'}, forced:true, - content:function(){ - 'step 0' - event.targets=get.players(); - 'step 1' - if(event.targets.length){ - var target=event.targets.shift(); - if(!target.isTurnedOver()&&target.countCards('he')){ - target.chooseToDiscard(true); - } - event.redo(); + filter:function(event,player){ + var enemies=player.getEnemies(); + for(var i=0;i0; + }, + content:function(){ + trigger.num--; + player.removeSkill('stuxi2'); } }, bingdong:{ + trigger:{source:'damageEnd'}, + forced:true, + usable:1, + filter:function(event,player){ + if(!lib.card.hslingjian_jinjilengdong){ + return false; + } + return true; + }, + content:function(){ + player.gain(game.createCard('hslingjian_jinjilengdong'),'gain2'); + } + }, + bingdong_old:{ enable:'phaseUse', usable:1, filter:function(event,player){ @@ -3825,7 +3902,7 @@ character.hearth={ threaten:1.5 } }, - lianzhan:{ + hswuji:{ trigger:{player:'phaseUseEnd'}, frequent:true, filter:function(event,player){ @@ -4224,7 +4301,6 @@ character.hearth={ filter:function(event,player){ return !player.storage.anying&&player.countCards('he',{color:'black'})>1; }, - selectCard:2, filterCard:{color:'black'}, position:'he', check:function(card){ @@ -4239,7 +4315,12 @@ character.hearth={ ai:{ order:1, result:{ - player:1 + player:function(player){ + if(player.hasUnknown()) return 0; + return !game.hasPlayer(function(current){ + return ai.get.attitude(player,current)>0&¤t.isDamaged()&¤t.hp<=2; + }); + } } } }, @@ -5968,6 +6049,7 @@ character.hearth={ hs_khadgar:'卡德加', hs_tyrande:'泰兰德', hs_fenjie:'芬杰', + hs_wujiyuansu:'无羁元素', fuhua:'腐化', fuhua2:'腐化', @@ -6108,6 +6190,8 @@ character.hearth={ hsyaoshui:'药水', hsqingyu:'青玉', + lianzhan:'连斩', + lianzhan_info:'每当你造成一次伤害,若此伤害是你本回合第一次造成伤害,你摸两张牌;否则你增加一点体力上限并 回复一点体力', shifa:'嗜法', shifa_info:'锁定技,出牌阶段开始时,你令场上所有角色各获得一张随机锦囊牌', yuanzheng:'远征', @@ -6129,7 +6213,7 @@ character.hearth={ fushi:'缚誓', fushi_info:'出牌阶段,你可以令一名已受伤角色失去一点体力上限并回复一点体力', hhudun:'护盾', - hhudun_info:'锁定技,准备阶段,若你的护甲值小于3,你获得一点护甲', + hhudun_info:'锁定技,在每名角色的准备阶段,若你没有护甲,你获得一点护甲;每当你的护甲抵消一次伤害,你摸一张牌', fenlie:'分裂', fenlie_info:'锁定技,每当你于摸牌阶段外获得非特殊卡牌,你获得一张此牌的复制,每回合最多发动两次', nianfu:'粘附', @@ -6143,9 +6227,11 @@ character.hearth={ biri:'蔽日', biri_info:'每当距离你1以内的一名其他角色成为杀的惟一目标时,若杀的使用者不是你,你可以弃置一张闪取消之', stuxi:'吐息', - stuxi_info:'锁定技,结束阶段,你令所有未翻面角色各弃置一张牌', + stuxi2:'吐息', + stuxi2_bg:'息', + stuxi_info:'锁定技,结束阶段,你令一名随机敌人下一个摸牌阶段摸牌数-1', bingdong:'冰冻', - bingdong_info:'出牌阶段限一次,若你的武将牌正面朝上,你可以选择一名未翻面的角色与其同时将武将牌翻至背面', + bingdong_info:'锁定技,你在一个回合内首次造成伤害后,获得一个冰冻零件', ronghuo:'熔火', ronghuo_info:'锁定技,你的普通杀均视为火杀', luoshi:'落石', @@ -6219,8 +6305,8 @@ character.hearth={ jingmeng_info:'每当你于回合内使用第一张牌时,你可以从牌堆中随机获得一张与之类型相同的牌', kuixin:'窥心', kuixin_info:'结束阶段,你可以获得一名手牌数不少于你的角色的一张手牌', - lianzhan:'连斩', - lianzhan_info:'出牌阶段结束时,你可以摸X张牌,X为你本回合使用的卡牌数', + hswuji:'无羁', + hswuji_info:'出牌阶段结束时,你可以摸X张牌,X为你本回合使用的卡牌数', yanshu:'炎舞', yanshu_info:'每回合限一次,当你弃置非基本牌后,你可以获得一张流星火雨', bingshuang:'冰枪', diff --git a/character/ow.js b/character/ow.js index 3c73fdedc..4311273bc 100644 --- a/character/ow.js +++ b/character/ow.js @@ -212,7 +212,7 @@ character.ow={ else{ eff=ai.get.effect(player,trigger.card,trigger.player,trigger.player); } - trigger.player.chooseToDiscard(function(card){ + trigger.player.chooseToDiscard('享乐:弃置一张基本牌,否则杀对'+get.translation(player)+'无效',function(card){ return get.type(card)=='basic'; }).set('ai',function(card){ if(_status.event.eff>0){ diff --git a/character/rank.js b/character/rank.js index 36826bfe5..be8634d45 100644 --- a/character/rank.js +++ b/character/rank.js @@ -54,6 +54,7 @@ window.characterRank={ 'hs_tyrande', ], a:[ + 'hs_sapphiron', 'gw_airuiting', 'gw_dagong', 'gw_huoge', @@ -160,6 +161,7 @@ window.characterRank={ 'gw_kaerweite', 'yxs_napolun', 'hs_aedwin', + 'hs_wujiyuansu', 'ow_kuangshu', 'old_wangyi', 'hs_shaku', @@ -249,6 +251,7 @@ window.characterRank={ ], bp:[ 'zoushi', + 'hs_hudunren', 'diy_lukang', 'yxs_meixi', 'yxs_lanlinwang', diff --git a/character/shenhua.js b/character/shenhua.js index fb023e4c4..f7b110bd6 100644 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -633,7 +633,7 @@ character.shenhua={ content:function(){ "step 0" var eff=ai.get.effect(player,trigger.card,trigger.player,trigger.player); - trigger.player.chooseToDiscard(function(card){ + trigger.player.chooseToDiscard('享乐:弃置一张基本牌,否则杀对'+get.translation(player)+'无效',function(card){ return get.type(card)=='basic'; }).set('ai',function(card){ if(_status.event.eff>0){ diff --git a/character/swd.js b/character/swd.js index 83eaddee3..e6ef3336e 100644 --- a/character/swd.js +++ b/character/swd.js @@ -3315,7 +3315,7 @@ character.swd={ effect:{ player:function(card,player,target){ if(player!=target) return; - if(get.type(card)=='equip'&&player.countCards('h')<=player.hp){ + if(get.type(card)=='equip'&&!player.needsToDiscard()){ return [0,0,0,0]; } } diff --git a/game/asset.js b/game/asset.js index 28c40f1d4..b1e59ce96 100644 --- a/game/asset.js +++ b/game/asset.js @@ -2535,6 +2535,7 @@ window.noname_skin_list={ guyong:2, handang:2, hetaihou:2, + hs_kazhakusi:1, huanggai:1, huangyueying:2, huangzhong:1, diff --git a/game/game.js b/game/game.js index 2c8597915..3ec9d7cb6 100644 --- a/game/game.js +++ b/game/game.js @@ -11303,11 +11303,13 @@ if(num>0&&player.hujia&&!player.hasSkillTag('nohujia')){ if(num>=player.hujia){ num-=player.hujia; + event.hujia=player.hujia; game.log(player,'的护甲抵挡了'+get.cnNumber(player.hujia)+'点伤害'); player.hujia=0; } else{ player.hujia-=num; + event.hujia=num; game.log(player,'的护甲抵挡了'+get.cnNumber(num)+'点伤害'); num=0; } diff --git a/game/update.js b/game/update.js index 4d5e0826b..b5251ee8a 100644 --- a/game/update.js +++ b/game/update.js @@ -12,8 +12,8 @@ window.noname_update={ // 'game/asset.js', // 'card/*', // 'card/swd.js', - // 'character/*', - 'character/sp.js', + 'character/*', + // 'character/sp.js', // 'mode/boss.js', 'mode/versus.js', // 'mode/guozhan.js', diff --git a/image/character/hs_kazhakusi.jpg b/image/character/hs_kazhakusi.jpg index 46100d50a..458b14242 100644 Binary files a/image/character/hs_kazhakusi.jpg and b/image/character/hs_kazhakusi.jpg differ diff --git a/image/character/hs_wujiyuansu.jpg b/image/character/hs_wujiyuansu.jpg index 72881a0b9..7b7d1e432 100644 Binary files a/image/character/hs_wujiyuansu.jpg and b/image/character/hs_wujiyuansu.jpg differ diff --git a/image/skin/hs_kazhakusi/1.jpg b/image/skin/hs_kazhakusi/1.jpg new file mode 100644 index 000000000..46100d50a Binary files /dev/null and b/image/skin/hs_kazhakusi/1.jpg differ