diff --git a/audio/die/lifeng.mp3 b/audio/die/lifeng.mp3 new file mode 100755 index 000000000..0e358e288 Binary files /dev/null and b/audio/die/lifeng.mp3 differ diff --git a/audio/die/lingju.mp3 b/audio/die/lingju.mp3 old mode 100644 new mode 100755 index 7a9cb4809..6bce7c3c8 Binary files a/audio/die/lingju.mp3 and b/audio/die/lingju.mp3 differ diff --git a/audio/die/sunru.mp3 b/audio/die/sunru.mp3 new file mode 100755 index 000000000..62d79a9d1 Binary files /dev/null and b/audio/die/sunru.mp3 differ diff --git a/audio/die/zhiling.mp3 b/audio/die/zhiling.mp3 new file mode 100755 index 000000000..66ec45482 Binary files /dev/null and b/audio/die/zhiling.mp3 differ diff --git a/audio/skill/fenxin1.mp3 b/audio/skill/fenxin1.mp3 new file mode 100755 index 000000000..cf9e91e42 Binary files /dev/null and b/audio/skill/fenxin1.mp3 differ diff --git a/audio/skill/fenxin2.mp3 b/audio/skill/fenxin2.mp3 new file mode 100755 index 000000000..cc71e0793 Binary files /dev/null and b/audio/skill/fenxin2.mp3 differ diff --git a/audio/skill/jieyuan_less.mp3 b/audio/skill/jieyuan_less.mp3 new file mode 100755 index 000000000..f0a66adae Binary files /dev/null and b/audio/skill/jieyuan_less.mp3 differ diff --git a/audio/skill/jieyuan_more.mp3 b/audio/skill/jieyuan_more.mp3 new file mode 100755 index 000000000..cc36f8831 Binary files /dev/null and b/audio/skill/jieyuan_more.mp3 differ diff --git a/audio/skill/qingyi1.mp3 b/audio/skill/qingyi1.mp3 new file mode 100755 index 000000000..18cf08eed Binary files /dev/null and b/audio/skill/qingyi1.mp3 differ diff --git a/audio/skill/qingyi2.mp3 b/audio/skill/qingyi2.mp3 new file mode 100755 index 000000000..5037a7fb0 Binary files /dev/null and b/audio/skill/qingyi2.mp3 differ diff --git a/audio/skill/shixin1.mp3 b/audio/skill/shixin1.mp3 new file mode 100755 index 000000000..3415a3ee7 Binary files /dev/null and b/audio/skill/shixin1.mp3 differ diff --git a/audio/skill/shixin2.mp3 b/audio/skill/shixin2.mp3 new file mode 100755 index 000000000..a9b6b3cb5 Binary files /dev/null and b/audio/skill/shixin2.mp3 differ diff --git a/audio/skill/shuliang1.mp3 b/audio/skill/shuliang1.mp3 new file mode 100755 index 000000000..7eb773478 Binary files /dev/null and b/audio/skill/shuliang1.mp3 differ diff --git a/audio/skill/shuliang2.mp3 b/audio/skill/shuliang2.mp3 new file mode 100755 index 000000000..d90214f18 Binary files /dev/null and b/audio/skill/shuliang2.mp3 differ diff --git a/audio/skill/tunchu1.mp3 b/audio/skill/tunchu1.mp3 new file mode 100755 index 000000000..5e881258f Binary files /dev/null and b/audio/skill/tunchu1.mp3 differ diff --git a/audio/skill/tunchu2.mp3 b/audio/skill/tunchu2.mp3 new file mode 100755 index 000000000..073b190bb Binary files /dev/null and b/audio/skill/tunchu2.mp3 differ diff --git a/audio/skill/zhanyi1.mp3 b/audio/skill/zhanyi1.mp3 new file mode 100755 index 000000000..3f7f5658b Binary files /dev/null and b/audio/skill/zhanyi1.mp3 differ diff --git a/audio/skill/zhanyi2.mp3 b/audio/skill/zhanyi2.mp3 new file mode 100755 index 000000000..677fd93ef Binary files /dev/null and b/audio/skill/zhanyi2.mp3 differ diff --git a/card/hearth.js b/card/hearth.js index 1a30dfca9..42aad4c18 100644 --- a/card/hearth.js +++ b/card/hearth.js @@ -430,6 +430,10 @@ card.hearth={ order:8, result:{ target:-1 + }, + tag:{ + multineg:1, + multitarget:1 } } }, diff --git a/character/hearth.js b/character/hearth.js index 281e0bd62..64007188f 100755 --- a/character/hearth.js +++ b/character/hearth.js @@ -32,16 +32,22 @@ character.hearth={ // hs_bolvar:['male','wei',2,[]], // hs_fuding:['male','wei',2,[]], hs_ysera:['female','wu',4,['chenshui']], + hs_alextrasza:['female','shu',5,['fushi']], + hs_sapphiron:['male','wei',4,['bingdong','stuxi']], - hs_ronghejuren:['male','shu',8,[]], + hs_zhishigushu:['male','shu',4,['jiaohui']], + hs_zhanzhenggushu:['male','wei',6,['biri']], + hs_ronghejuren:['male','shu',8,['ronghuo']], + hs_shanlingjuren:['male','qun',8,['luoshi']], hs_edwin:['male','qun',3,['lianzhan']], hs_mijiaojisi:['female','qun',3,['kuixin']], hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu']], - // hs_tgolem:['male','qun',4,['guozai']], + hs_tgolem:['male','qun',4,['guozaix']], hs_totemic:['male','wu',3,['s_tuteng']], 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']], }, perfectPair:{ hs_sthrall:['hs_totemic','hs_alakir','hs_neptulon','hs_yngvar','hs_tgolem'], @@ -50,6 +56,222 @@ character.hearth={ hs_malfurion:['hs_malorne'], }, skill:{ + biri:{ + trigger:{global:'useCard'}, + priority:15, + filter:function(event,player){ + return event.card.name=='sha'&&event.player!=player&& + get.distance(player,event.targets[0])<=1&& + player.num('h',{type:'basic'})>0&& + event.targets.contains(player)==false&&event.targets.length==1; + }, + direct:true, + content:function(){ + "step 0" + var effect=0; + for(var i=0;i0||(event.source&&event.source.num('he')>0); + }, + content:function(){ + 'step 0' + var hs=player.get('he'); + if(hs.length){ + player.discard(hs.randomGet()) + } + 'step 1' + if(trigger.source){ + var hs=trigger.source.get('he'); + if(hs.length){ + trigger.source.discard(hs.randomGet()) + } + } + } + }, + ronghuo:{ + trigger:{player:'useCardToBefore'}, + priority:7, + filter:function(event,player){ + if(event.card.name=='sha'&&!event.card.nature) return true; + }, + check:function(event,player){ + var att=ai.get.attitude(player,event.target); + if(event.target.hasSkillTag('nofire')){ + return att>0; + } + return att<=0; + }, + forced:true, + content:function(){ + trigger.card.nature='fire'; + player.addSkill('ronghuo2'); + player.storage.ronghuo=trigger.card; + } + }, + ronghuo2:{ + trigger:{player:'useCardAfter'}, + forced:true, + popup:false, + content:function(){ + delete player.storage.ronghuo.nature; + } + }, + fushi:{ + enable:'phaseUse', + filterTarget:true, + content:function(){ + 'step 0' + target.loseMaxHp(true); + 'step 1' + if(target.hp1&&target.hp<=1){ + att+=2; + } + return att; + }; + 'step 1' + if(result.bool){ + event.target=result.targets[0]; + player.logSkill('jiaohui',event.target); + if(event.target.hp=2||target.hp>=target.maxHp-1) return 'draw_card'; + if(target.hp==2&&target.num('h')==0) return 'draw_card'; + return 'recover_hp'; + }); + } + else{ + event.target.draw(2); + event.finish(); + } + } + else{ + event.finish(); + } + 'step 2' + if(result.control=='draw_card'){ + event.target.draw(2); + } + else{ + event.target.recover(); + } + }, + }, chenshui:{ trigger:{player:'phaseEnd'}, frequent:true, @@ -348,6 +570,44 @@ character.hearth={ player.removeSkill('guozai2'); } }, + guozaix:{ + enable:'phaseUse', + usable:2, + filter:function(event,player){ + return player.num('h')<4; + }, + init:function(player){ + player.storage.guozaix2=0; + }, + content:function(){ + var num=4-player.num('h'); + player.draw(num); + player.addSkill('guozaix2'); + player.storage.guozaix2+=num; + game.addVideo('storage',player,['guozaix2',player.storage.guozaix2]); + }, + ai:{ + order:1, + result:{ + player:1 + } + } + }, + guozaix2:{ + mark:true, + intro:{ + content:function(storage){ + return '需弃置'+get.cnNumber(storage)+'张牌'; + } + }, + trigger:{player:'phaseUseEnd'}, + forced:true, + content:function(){ + player.chooseToDiscard('he',true,player.storage.guozaix2); + player.storage.guozaix2=0; + player.removeSkill('guozaix2'); + } + }, hanshuang:{ trigger:{source:'damageEnd'}, forced:true, @@ -2189,15 +2449,37 @@ character.hearth={ hs_malygos:'玛里苟斯', hs_xuefashi:'血法师', hs_ysera:'伊瑟拉', + hs_alextrasza:'阿莱克斯塔', + fushi:'缚誓', + fushi_info:'出牌阶段,你可以令一名已受伤角色失去一点体力上限并回复一点体力', hs_ronghejuren:'熔核巨人', + hs_shanlingjuren:'山岭巨人', hs_edwin:'艾德温', hs_mijiaojisi:'秘教祭司', hs_huzhixiannv:'湖之仙女', hs_tgolem:'图腾魔像', hs_totemic:'图腾师', hs_bilanyoulong:'碧蓝幼龙', + hs_zhishigushu:'知识古树', + hs_zhanzhenggushu:'战争古树', + hs_jinglinglong:'精灵龙', + hs_sapphiron:'萨菲隆', + biri:'蔽日', + biri_info:'每当距离你1以内的一名其他角色成为杀的惟一目标时,若杀的使用者不是你,你可以弃置一张基本牌取消之', + stuxi:'吐息', + stuxi_info:'锁定技,回合结束阶段,你令所有未翻面角色各弃置一张牌', + bingdong:'冰冻', + bingdong_info:'出牌阶段限一次,若你的武将牌正面朝上,你可以选择一名未翻面的角色与其同时将武将牌翻至背面', + ronghuo:'熔火', + ronghuo_info:'锁定技,你的普通杀均视为火杀', + luoshi:'落石', + luoshi_info:'锁定技,每当你受到一次伤害,你与伤害来源各随机弃置一张牌', + mianyi:'免疫', + mianyi_info:'锁定技,你不能成为其他角色的单体非延时锦囊的目标', + jiaohui:'教诲', + jiaohui_info:'回合结束阶段,若你没有于本回合内造成伤害,你可以令一名角色摸两张牌或回复一点体力', chenshui:'沉睡', chenshui_info:'回合结束阶段,你可以将一张随机梦境牌加入你的手牌', mengjing:'梦境', @@ -2238,6 +2520,10 @@ character.hearth={ guozai2:'过载', guozai2_bg:'载', guozai_info:'出牌阶段限一次,你可将手牌补至四张,并于此阶段结束时弃置等量的牌', + guozaix:'重载', + guozaix2:'重载', + guozaix2_bg:'载', + guozaix_info:'出牌阶段限两次,你可将手牌补至四张,并于此阶段结束时弃置等量的牌', hanshuang:'寒霜', hanshuang_info:'锁定技,你使用黑色牌造成伤害后,受伤害角色须将武将牌翻至背面,然后你流失一点体力', bingshi:'冰噬', diff --git a/character/sp.js b/character/sp.js index 114177202..63e657fe4 100755 --- a/character/sp.js +++ b/character/sp.js @@ -56,6 +56,7 @@ character.sp={ }, skill:{ tunchu:{ + audio:2, trigger:{player:'phaseDrawBegin'}, check:function(event,player){ return player.num('h')-player.num('h',{type:'equip'})+2<=player.hp; @@ -111,6 +112,7 @@ character.sp={ } }, shuliang:{ + audio:2, trigger:{global:'phaseEnd'}, direct:true, filter:function(event,player){ @@ -141,6 +143,7 @@ character.sp={ group:['jieyuan_more','jieyuan_less'], subSkill:{ more:{ + audio:true, trigger:{source:'damageBegin'}, direct:true, filter:function(event,player){ @@ -157,15 +160,15 @@ character.sp={ } return 0; } - next.logSkill=['jieyuan',trigger.player]; + next.logSkill=['jieyuan_more',trigger.player]; 'step 1' if(result.bool){ - player.logSkill('jieyuan',trigger.player); trigger.num++; } } }, less:{ + audio:true, trigger:{player:'damageBegin'}, filter:function(event,player){ if(!player.num('h',{color:'red'})) return false; @@ -184,7 +187,7 @@ character.sp={ } return 7-ai.get.value(card); }; - next.logSkill='jieyuan'; + next.logSkill='jieyuan_less'; "step 1" if(result.bool){ game.delay(); @@ -201,7 +204,16 @@ character.sp={ fenxin:{ mode:['identity'], trigger:{source:'dieBegin'}, + init:function(player){ + player.storage.fenxin=false; + }, + intro:{ + content:'limited' + }, + audio:2, + mark:true, filter:function(event,player){ + if(player.storage.fenxin) return false; return event.player.identity!='zhu'&&player.identity!='zhu'&& player.identity!='mingzhong'&&event.player.identity!='mingzhong'; }, @@ -235,13 +247,15 @@ character.sp={ } trigger.player.identity=identity; player.line(trigger.player,'green'); + player.storage.fenxin=true; + player.unmarkSkill('fenxin'); } }, qingyi:{ group:['qingyi1','qingyi2'] }, qingyi1:{ - audio:2, + audio:true, trigger:{player:'phaseBegin'}, direct:true, content:function(){ @@ -266,7 +280,7 @@ character.sp={ } }, qingyi2:{ - audio:2, + audio:true, trigger:{player:'phaseUseBefore'}, direct:true, filter:function(event,player){ @@ -314,6 +328,7 @@ character.sp={ }, }, shixin:{ + audio:2, trigger:{player:'damageBefore'}, filter:function(event){ return event.nature=='fire'; @@ -3712,9 +3727,11 @@ character.sp={ shuliang:'输粮', shuliang_info:'每当一名角色的结束阶段开始时,若其没有手牌,你可以将一张“粮”置入弃牌堆,然后该角色摸两张牌', jieyuan:'竭缘', + jieyuan_more:'竭缘', + jieyuan_less:'竭缘', jieyuan_info:'当你对一名其他角色造成伤害时,若其体力值大于或等于你的体力值,你可弃置一张黑色手牌令此伤害+1;当你受到一名其他角色造成的伤害时,若其体力值大于或等于你的体力值,你可弃置一张红色手牌令此伤害-1。', fenxin:'焚心', - fenxin_info:'定技,当你杀死一名非主公角色时,在其翻开身份牌之前,你可以与该角色交换身份牌。(你的身份为主公时不能发动此技能)', + fenxin_info:'限定技,当你杀死一名非主公角色时,在其翻开身份牌之前,你可以与该角色交换身份牌。(你的身份为主公时不能发动此技能)', shixin:'释衅', shixin_info:'锁定技,当你受到火属性伤害时,你防止此伤害', qingyi:'轻逸', diff --git a/character/xswd.js b/character/xswd.js deleted file mode 100755 index 98008b8e2..000000000 --- a/character/xswd.js +++ /dev/null @@ -1,5 +0,0 @@ -character.xswd={ - character:{ - - }, -} diff --git a/character/yijiang.js b/character/yijiang.js index 46b48f46d..d642c6253 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -1019,8 +1019,9 @@ character.yijiang={ event.card=result.cards[0]; event.current.lose(result.cards,ui.special); var cardx=ui.create.card(); - cardx.classList.add('infohidden') - event.current.$throw(ui.create.card(),1000); + cardx.classList.add('infohidden'); + cardx.classList.add('infoflip'); + event.current.$throw(cardx,1000); } else{ event.card=null; diff --git a/character/yxs.js b/character/yxs.js index fb262c876..5a8004c4f 100755 --- a/character/yxs.js +++ b/character/yxs.js @@ -8,18 +8,18 @@ character.yxs={ yxs_aijiyanhou:['female','qun',3,['seyou','sheshi']], yxs_diaochan:['female','qun',3,['fengyi','wange']], yxs_yangyuhuan:['female','wu',3,['fengyan','nichang']], - yxs_baosi:['female','qun',3,['jieyin','fenghuo']], - yxs_napolun:['male','qun',4,['tongling','fanpu']], - yxs_kaisa:['male','qun',4,['ducai']], - yxs_zhuyuanzhang:['male','qun',4,['qiangyun']], + yxs_baosi:['female','wu',3,['jieyin','fenghuo']], + yxs_napolun:['male','wei',4,['tongling','fanpu']], + yxs_kaisa:['male','shu',4,['ducai']], + yxs_zhuyuanzhang:['male','wu',4,['qiangyun']], yxs_jinke:['male','qun',3,['cike','qiangxi']], yxs_libai:['male','qun',3,['miaobi','zhexian']], - yxs_luban:['male','qun',3,['guifu','lshengong']], - yxs_lvzhi:['female','qun',4,['zhensha','xumou']], - yxs_goujian:['male','qun',3,['keji','tuqiang']], + yxs_luban:['male','wu',3,['guifu','lshengong']], + yxs_lvzhi:['female','shu',4,['zhensha','xumou']], + yxs_goujian:['male','wu',3,['keji','tuqiang']], yxs_lishimin:['male','qun',4,['kongju']], - yxs_huamulan:['female','qun',3,['xiaoji','yizhuang']], - yxs_luobinhan:['male','qun',4,['xiadao','lzhangyi']], + yxs_huamulan:['female','shu',3,['xiaoji','yizhuang']], + yxs_luobinhan:['male','wu',4,['xiadao','lzhangyi']], }, skill:{ xiadao:{ @@ -953,7 +953,7 @@ character.yxs={ for(var i=0;i40){ offset12=90-hs1[i].node.info.offsetWidth; + hs1[i].node.info.querySelector('span').style.display='none'; hs1[i].node.name.style.transform='translateY(17px)'; } else{ + hs1[i].node.info.querySelector('span').style.display=''; hs1[i].node.name.style.transform=''; } hs1[i].node.info.style.transform='translateX(-'+offset12+'px)'; @@ -18532,9 +18555,11 @@ hs2[i].classList.remove('drawinghidden'); if(offset22>40){ offset22=90-hs2[i].node.info.offsetWidth; + hs2[i].node.info.querySelector('span').style.display='none'; hs2[i].node.name.style.transform='translateY(17px)'; } else{ + hs2[i].node.info.querySelector('span').style.display=''; hs2[i].node.name.style.transform=''; } hs2[i].node.info.style.transform='translateX(-'+offset22+'px)'; diff --git a/image/character/hs_alextrasza.jpg b/image/character/hs_alextrasza.jpg new file mode 100644 index 000000000..d1569f6a7 Binary files /dev/null and b/image/character/hs_alextrasza.jpg differ diff --git a/image/character/hs_jinglinglong.jpg b/image/character/hs_jinglinglong.jpg new file mode 100644 index 000000000..f92c6964c Binary files /dev/null and b/image/character/hs_jinglinglong.jpg differ diff --git a/image/character/hs_sapphiron.jpg b/image/character/hs_sapphiron.jpg new file mode 100644 index 000000000..48fed1563 Binary files /dev/null and b/image/character/hs_sapphiron.jpg differ diff --git a/image/character/hs_shanlingjuren.jpg b/image/character/hs_shanlingjuren.jpg new file mode 100644 index 000000000..bb626a8db Binary files /dev/null and b/image/character/hs_shanlingjuren.jpg differ diff --git a/image/character/hs_zhanzhenggushu.jpg b/image/character/hs_zhanzhenggushu.jpg new file mode 100644 index 000000000..97b1717bc Binary files /dev/null and b/image/character/hs_zhanzhenggushu.jpg differ diff --git a/image/character/hs_zhishigushu.jpg b/image/character/hs_zhishigushu.jpg new file mode 100644 index 000000000..f8f460118 Binary files /dev/null and b/image/character/hs_zhishigushu.jpg differ diff --git a/layout/default/layout.css b/layout/default/layout.css index fc7e7b502..259af9a02 100755 --- a/layout/default/layout.css +++ b/layout/default/layout.css @@ -334,6 +334,7 @@ div:not(.handcards)>.card>.info, .handcards>.card:last-child>.info, div:not(.handcards)>.card>.name, .handcards>.card:last-child>.name{transform: none !important} +div:not(.handcards)>.card>.info>span{display: inline !important} .card>.image{ width: 100%; height: 100%; @@ -387,7 +388,8 @@ div:not(.handcards)>.card>.name, transform:scale(0.8); transform-origin:bottom left; } -.dialog .buttons>.button.character{ +.dialog .buttons>.button.character, +.button.character.longcharacter{ height:108px; background-size: cover; } diff --git a/theme/simple/style.css b/theme/simple/style.css index 5b7ec9520..1f2c667b8 100755 --- a/theme/simple/style.css +++ b/theme/simple/style.css @@ -74,6 +74,10 @@ body{ background: url('../style/cardback/image/official.png'); background-size: cover; } +.card.infohidden:not(.infoflip){ + background: url('../style/cardback/image/official2.png'); + background-size: cover; +} #system>div>.glow{ background-image: linear-gradient(rgba(47,101,150,1), rgba(43, 90, 132,1)); diff --git a/theme/style/cardback/image/official2.png b/theme/style/cardback/image/official2.png new file mode 100644 index 000000000..4da8ee9f1 Binary files /dev/null and b/theme/style/cardback/image/official2.png differ diff --git a/theme/style/cardback/official.css b/theme/style/cardback/official.css index 636797655..7b8d32c9d 100644 --- a/theme/style/cardback/official.css +++ b/theme/style/cardback/official.css @@ -2,3 +2,7 @@ background: url('image/official.png'); background-size: cover; } +.card.infohidden:not(.infoflip){ + background: url('image/official2.png'); + background-size: cover; +} diff --git a/theme/woodden/wood2.pxm b/theme/woodden/wood2.pxm deleted file mode 100755 index 442581a6e..000000000 Binary files a/theme/woodden/wood2.pxm and /dev/null differ