diff --git a/card/shenqi.js b/card/shenqi.js index 6d9d9620f..62663b768 100755 --- a/card/shenqi.js +++ b/card/shenqi.js @@ -76,7 +76,7 @@ card.shenqi={ subtype:'equip5', skills:['kongxin'], ai:{ - equipValue:8 + equipValue:6 } }, shennongding:{ diff --git a/character/diy.js b/character/diy.js index 3088c5ccc..0c0282922 100755 --- a/character/diy.js +++ b/character/diy.js @@ -299,7 +299,7 @@ character.diy={ ai:{ effect:{ target:function(card){ - if(get.type(card)=='delay') return [0,1]; + if(get.type(card)=='delay') return [0,0.5]; } } } diff --git a/character/sp.js b/character/sp.js index e8d614e3c..1df3d3888 100755 --- a/character/sp.js +++ b/character/sp.js @@ -45,6 +45,9 @@ character.sp={ sunluyu:['female','wu',3,['meibu','mumu']], hanba:['female','qun',4,['fentian','zhiri']], zumao:['male','wu',4,['yinbing','juedi']], + daxiaoqiao:['female','wu',3,['xingwu','luoyan']], + sp_daqiao:['female','wu',3,['yanxiao','anxian']], + // sp_ganning:['male','wu',4,['yinling','junwei']], }, perfectPair:{ zhugejin:['zhugeke'], @@ -61,8 +64,405 @@ character.sp={ jiangqing:['zhoutai'], dingfeng:['xusheng'], caohong:['caoren'], + daxiaoqiao:['zhouyu','sunce'], }, skill:{ + yanxiao:{ + enable:'phaseUse', + filterCard:{suit:'diamond'}, + filterTarget:true, + check:function(card){ + return 7-ai.get.value(card); + }, + discard:false, + prepare:function(cards,player,targets){ + player.$give(cards,targets[0]); + }, + line:'green', + content:function(){ + if(target.skills.contains('yanxiao2')&&target.storage.yanxiao2){ + target.storage.yanxiao2.push(cards[0]); + target.syncStorage('yanxiao2'); + } + else{ + target.storage.yanxiao2=cards.slice(0); + target.syncStorage('yanxiao2'); + target.addSkill('yanxiao2'); + } + }, + ai:{ + order:8, + result:{ + target:function(player,target){ + if(target.storage.yanxiao2&&target.storage.yanxiao2.length) return 0; + if(target.num('j')) return 1; + return 0; + } + } + } + }, + yanxiao2:{ + mark:true, + intro:{ + content:'cards' + }, + trigger:{player:'phaseJudgeBegin'}, + forced:true, + content:function(){ + var cards=player.storage.yanxiao2.concat(player.get('j')); + player.gain(cards,'gain2'); + delete player.storage.yanxiao2; + player.removeSkill('yanxiao2'); + game.log(player,'获得了',cards); + }, + ai:{ + effect:{ + target:function(card){ + if(get.type(card)=='delay') return [0,0.1]; + } + } + } + }, + anxian:{ + group:['anxian_source','anxian_target'], + subSkill:{ + source:{ + trigger:{source:'damageBefore'}, + filter:function(event,player){ + return event.card&&event.card.name=='sha'; + }, + check:function(event,player){ + if(ai.get.damageEffect(event.player,player,player)<=0) return true; + return false; + }, + content:function(){ + 'step 0' + if(trigger.player.num('h')){ + trigger.player.chooseToDiscard(true); + } + 'step 1' + player.draw(); + trigger.untrigger(); + trigger.finish(); + } + }, + target:{ + trigger:{target:'shaBefore'}, + direct:true, + filter:function(event,player){ + return player.num('h'); + }, + content:function(){ + "step 0" + var next=player.chooseToDiscard('是否发动【安娴】?'); + next.ai=function(card){ + if(ai.get.attitude(player,trigger.player)>0){ + return 9-ai.get.value(card); + } + if(player.num('h',{name:'shan'})) return -1; + return 7-ai.get.value(card); + }; + next.logSkill='anxian'; + "step 1" + if(result.bool){ + trigger.player.draw(); + trigger.untrigger(); + trigger.finish(); + } + }, + } + } + }, + luoyan:{ + group:['luoyan_tianxiang','luoyan_liuli'], + subSkill:{ + tianxiang:{ + audio:2, + trigger:{player:'damageBefore'}, + direct:true, + filter:function(event,player){ + if(!player.storage.xingwu) return false; + if(!player.storage.xingwu.length) return false; + return player.num('h',{suit:'heart'})>0&&event.num>0; + }, + content:function(){ + "step 0" + player.chooseCardTarget({ + filterCard:function(card){ + return get.suit(card)=='heart'; + }, + filterTarget:function(card,player,target){ + return player!=target; + }, + ai1:function(card){ + return 10-ai.get.value(card); + }, + ai2:function(target){ + var att=ai.get.attitude(player,target); + if(trigger.num>1){ + if(target.maxHp>5&&target.hp>1) return -att/10; + return -att; + } + var eff=ai.get.damageEffect(target,trigger.source,target,trigger.nature); + if(att==0) return 0.1; + if(eff>=0&&trigger.num==1){ + return att; + } + if(target.hp==target.maxHp) return -att; + if(target.hp==1){ + if(target.maxHp<=4&&!target.hasSkillTag('maixie')){ + if(target.maxHp<=3){ + return -att; + } + return -att/2; + } + return 0; + } + if(target.hp==target.maxHp-1){ + if(target.hp>2||target.hasSkillTag('maixie')) return att/5; + if(att>0) return 0.02; + return 0.05; + } + return att/2; + }, + prompt:'天香:弃置一张红桃牌转移伤害' + }); + "step 1" + if(result.bool){ + player.logSkill('tianxiang',result.targets); + trigger.untrigger(); + trigger.player=result.targets[0]; + trigger.player.addSkill('tianxiang2'); + player.discard(result.cards[0]); + } + else{ + event.finish(); + } + "step 2" + trigger.trigger('damageBefore'); + }, + ai:{ + effect:{ + target:function(card,player,target){ + if(player.skills.contains('jueqing')) return; + if(get.tag(card,'damage')&&target.num('h')>1) return 0.7; + } + }, + threaten:function(player,target){ + if(target.num('h')==0) return 2; + } + } + }, + liuli:{ + audio:2, + trigger:{target:'shaBefore'}, + direct:true, + priority:5, + filter:function(event,player){ + if(!player.storage.xingwu) return false; + if(!player.storage.xingwu.length) return false; + if(player.num('he')==0) return false; + for(var i=0;i0; + var vcard={name:'shacopy',nature:card.nature,suit:card.suit}; + for(var i=0;i0){ + if(!player.canUse(card,game.players[0])){ + return [0,0.1]; + } + min=0; + } + } + } + return min; + } + } + } + } + } + }, + xingwu:{ + audio:2, + group:['xingwu_color','xingwu_color2'], + subSkill:{ + color:{ + trigger:{player:'phaseBegin'}, + forced:true, + popup:false, + silent:true, + content:function(){ + player.storage.xingwu_color=['black','red']; + } + }, + color2:{ + trigger:{player:'useCard'}, + forced:true, + popup:false, + silent:true, + filter:function(event,player){ + return Array.isArray(player.storage.xingwu_color)&&_status.currentPhase==player; + }, + content:function(){ + player.storage.xingwu_color.remove(get.color(trigger.card)); + } + } + }, + trigger:{player:'phaseEnd'}, + direct:true, + filter:function(event,player){ + var length=player.storage.xingwu_color.length; + if(length==0) return false; + var hs=player.get('h'); + if(hs.length==0) return false; + if(length==2) return true; + var color=player.storage.xingwu_color[0]; + for(var i=0;i0&& + ai.get.attitude(player,game.players[i])<0){ + notarget=false;break; + } + } + if(notarget) return 0; + } + return 7-ai.get.value(card); + } + 'step 1' + if(result.bool){ + player.logSkill('xingwu'); + if(player.storage.xingwu.length<2){ + player.$give(result.cards,player); + } + player.lose(result.cards,ui.special); + player.storage.xingwu=player.storage.xingwu.concat(result.cards); + player.markSkill('xingwu'); + player.syncStorage('xingwu'); + } + else{ + event.finish(); + } + 'step 2' + if(player.storage.xingwu.length==3){ + player.$throw(player.storage.xingwu); + while(player.storage.xingwu.length){ + ui.discardPile.appendChild(player.storage.xingwu.shift()); + } + player.unmarkSkill('xingwu'); + player.chooseTarget(function(card,player,target){ + return target!=player&&target.sex=='male'; + },'对一名男性角色造成两点伤害并弃置其装备区内的牌').ai=function(target){ + if(ai.get.attitude(player,target)>=0) return -1; + return ai.get.damageEffect(target,player,player)+target.num('e')/2; + } + } + else{ + event.finish(); + } + 'step 3' + if(result.bool){ + var target=result.targets[0]; + target.damage(2); + event.target=target; + player.line(target,'green'); + } + else{ + event.finish(); + } + 'step 4' + if(event.target&&event.target.isAlive()){ + var es=event.target.get('e'); + if(es.length){ + event.target.discard(es); + } + } + }, + ai:{ + threaten:1.5 + } + }, yinbing:{ trigger:{player:'phaseEnd'}, direct:true, @@ -4257,11 +4657,28 @@ character.sp={ hanba:'旱魃', panfeng:'潘凤', zumao:'祖茂', + daxiaoqiao:'大小乔', + sp_daqiao:'sp大乔', + sp_ganning:'sp甘宁', + yinling:'银铃', + yinling_bg:'锦', + yinling_info:'出牌阶段,你可以弃置一张黑色牌并指定一名其他角色。若如此做,你获得其一张牌并置于你的武将牌上,称为“锦”(数量最多为四)', + junwei:'军威', + junwei_info:'回合结束阶段开始时,你可以将三张“锦”置入弃牌堆。若如此做,你须指定一名角色并令其选择一项:1.亮出一张【闪】,然后由你交给任意一名角色。2.该角色失去1点体力,然后由你选择将其装备区的一张牌移出游戏。在该角色的回合结束后,将以此法移出游戏的装备牌移回原处', + yanxiao:'言笑', + yanxiao2:'言笑', + yanxiao_info:'出牌阶段,你可以将一张♦牌置于一名角色的武将牌上,武将牌上有“言笑”牌的角色下个判定阶段开始时,获得言笑牌及其判定区里的所有牌', + anxian:'安娴', + anxian_info:'每当你使用【杀】对目标角色造成伤害时,你可以防止此次伤害,令其弃置一张手牌,然后你摸一张牌;当你成为【杀】的目标时,你可以弃置一张手牌使之无效,然后该【杀】的使用者摸一张牌', + xingwu:'星舞', + xingwu_info:'弃牌阶段开始时,你可以将一张与你本回合使用的牌颜色均不同的手牌置于武将牌上:若你有至少三张“星舞牌”,你将之置入弃牌堆并选择一名男性角色,该角色受到2点伤害并弃置其装备区的所有牌', + luoyan:'落雁', + luoyan_info:'锁定技。若你的武将牌上有“星舞牌”,你拥有“天香”和“流离”', yinbing:'引兵', yinbing_info:'结束阶段开始时,你可以将至少一张非基本牌置于武将牌上。每当你受到【杀】或【决斗】的伤害后,你将一张“引兵牌”置入弃牌堆。', juedi:'绝地', - juedi_info:'准备阶段开始时,若你有“引兵牌”,你可以选择一项:1.将这些牌置入弃牌堆并摸等量的牌;2.令一名体力值不大于你的其他角色回复1点体力并获得这些牌。 ', + juedi_info:'准备阶段开始时,若你有“引兵牌”,你可以选择一项:1.将这些牌置入弃牌堆并摸等量的牌;2.令一名体力值不大于你的其他角色回复1点体力并获得这些牌', kuangfu:'狂斧', kuangfu_info:'每当你使用杀造成伤害,可以将对方的一张装备牌移到你的装备区', xintan:'心惔', @@ -4271,11 +4688,11 @@ character.sp={ zhiri:'炙日', zhiri_info:'觉醒技,准备阶段开始时,若“焚”数不小于3,你减1点体力上限,然后获得技能“心惔”(出牌阶段限一次,你可以将两张“焚”置入弃牌堆并选择一名角色,该角色失去一点体力)', meibu:'魅步', - meibu_info:'一名其他角色的出牌阶段开始时,若你不在其攻击范围内,你可以令该角色的锦囊牌均视为【杀】,直到该角色以此法使用了一张【杀】或回合结束。若如此做,则直到回合结束,视为你在其攻击范围内。', + meibu_info:'一名其他角色的出牌阶段开始时,若你不在其攻击范围内,你可以令该角色的锦囊牌均视为【杀】,直到该角色以此法使用了一张【杀】或回合结束。若如此做,则直到回合结束,视为你在其攻击范围内', mumu:'穆穆', mumu_info:'出牌阶段限一次,你可以弃置一张【杀】或黑色锦囊牌,然后选择一项:弃置场上一张武器牌,然后摸一张牌;或将场上的一张防具牌移动到你的装备区里(可替换原防具)', zhanyi:'战意', - zhanyi_info:'出牌阶段限一次,你可以弃置一张牌并失去1点体力,然后根据你弃置的牌获得以下效果直到回合结束:基本牌,你可以将一张基本牌当任意一张基本牌使用或打出;锦囊牌,摸两张牌且你使用的牌无距离限制;装备牌,你使用【杀】指定目标角色后,其弃置两张牌。', + zhanyi_info:'出牌阶段限一次,你可以弃置一张牌并失去1点体力,然后根据你弃置的牌获得以下效果直到回合结束:基本牌,你可以将一张基本牌当任意一张基本牌使用或打出;锦囊牌,摸两张牌且你使用的牌无距离限制;装备牌,你使用【杀】指定目标角色后,其弃置两张牌', nuzhan:'怒斩', nuzhan_info:'锁定技,你使用的由一张锦囊牌转化而来的【杀】不计入限制的使用次数;锁定技,你使用的由一张装备牌转化而来的【杀】的伤害值基数+1', danji:'单骑', diff --git a/character/standard.js b/character/standard.js index 5bdaed10c..eee38405f 100755 --- a/character/standard.js +++ b/character/standard.js @@ -238,7 +238,7 @@ character.standard={ } } check=(num>=2); - player.chooseTarget('是否发动突袭?',[1,2],function(card,player,target){ + player.chooseTarget('是否发动【突袭】?',[1,2],function(card,player,target){ return target.num('h')>0&&player!=target; }, function(target){ @@ -1085,6 +1085,7 @@ character.standard={ direct:true, priority:5, filter:function(event,player){ + if(player.num('he')==0) return false; for(var i=0;i0; + return event.player!=player&&event.player.num('j')>0&&get.distance(player,event.player,'attack')<=1; }, content:function(){ 'step 0' diff --git a/character/yxs.js b/character/yxs.js index 03662e2ea..eb054f8f8 100755 --- a/character/yxs.js +++ b/character/yxs.js @@ -22,7 +22,7 @@ character.yxs={ yxs_luobinhan:['male','wu',4,['xiadao','lzhangyi']], yxs_chengjisihan:['male','qun',4,['mashu','qianglue']], yxs_mingchenghuanghou:['female','shu',3,['tiewan','chajue']], - yxs_wangzhaojun:['female','wei',3,['heqin','luoyan']], + yxs_wangzhaojun:['female','wei',3,['heqin','wluoyan']], yxs_luocheng:['male','wu',4,['hanqiang','biaoqi']], yxs_direnjie:['male','wei',3,['shentan','kanpo']], yxs_sunwu:['male','wu',3,['bingsheng','taolue']], @@ -424,6 +424,7 @@ character.yxs={ check:function(card){ return 7-ai.get.value(card); }, + position:'he', content:function(){ "step 0" var hs=target.get('h'); @@ -487,16 +488,14 @@ character.yxs={ } } }, - luoyan:{ - trigger:{player:'damageBegin'}, + wluoyan:{ + trigger:{player:'damageBefore'}, forced:true, - priority:-5, - filter:function(event){ - return event.nature?true:false; - }, content:function(){ - delete trigger.nature; - } + trigger.untrigger(); + trigger.finish(); + player.loseHp(); + }, }, heqin:{ skillAnimation:true, @@ -2154,8 +2153,8 @@ character.yxs={ hanqiang_info:'锁定技,当你没装备武器时,攻击范围+1', biaoqi:'骠骑', biaoqi_info:'锁定技,当你出杀指定目标后,若你的攻击范围大于目标体力值,则此杀不可闪避;若你的攻击范围小于目标体力值,你摸一张牌', - luoyan:'落雁', - luoyan_info:'锁定技,你即将受到的属性伤害均改为无属性', + wluoyan:'落雁', + wluoyan_info:'锁定技,你防止即将受到的伤害,改为流失一点体力', heqin:'和亲', heqin2:'和亲', heqin3:'和亲', diff --git a/game/config.js b/game/config.js index 4fd74aa3a..152206f4d 100755 --- a/game/config.js +++ b/game/config.js @@ -11,7 +11,7 @@ window.config={ 'gjqt_bailitusu','yuanshao','swd_anka','swd_nicole','daqiao','re_daqiao', 'zhuran','huatuo','swd_tuwei','hs_guldan','wangyi','caoang','swd_guyue', 'swd_jiangziya','guojia','re_guojia','shen_caocao','swd_qiner','caopi','hs_yngvar', - 'gjqt_aruan','swd_hanluo','hs_anduin','swd_huanglei','yxs_luzhishen'], + 'gjqt_aruan','swd_hanluo','hs_anduin','swd_huanglei','yxs_luzhishen','swd_muyun'], forbidchess:['hetaihou','swd_kangnalishi'], forbidboss:['caiwenji','gjqt_aruan','pal_xuanxiao','swd_hupo'], forbiddouble:['zhugedan','swd_kangnalishi','dongzhuo','wutugu','jg_simayi','hs_siwangzhiyi','hs_ronghejuren','hs_shanlingjuren'], diff --git a/game/game.js b/game/game.js index ee2547e80..3f91561bf 100755 --- a/game/game.js +++ b/game/game.js @@ -19,8 +19,7 @@ version:1.78, changeLog:[ '修bug', - '新年兽', - '剑阁双将', + '新武将(SP)', ], configprefix:'noname_0.9_', updates:[], @@ -993,20 +992,6 @@ init:true, unfrequent:true, }, - target_shake:{ - name:'出牌抖动', - init:true, - unfrequent:true, - onclick:function(bool){ - game.saveConfig('target_shake',bool); - if(bool){ - ui.arena.classList.remove('no_target_shake'); - } - else{ - ui.arena.classList.add('no_target_shake'); - } - } - }, button_press:{ name:'按钮效果', init:true, @@ -1030,6 +1015,26 @@ name:'技能特效', init:true, }, + target_shake:{ + name:'目标效果', + init:'zoom', + item:{ + off:'关闭', + zoom:'缩放', + shake:'抖动', + }, + unfrequent:true, + onclick:function(bool){ + game.saveConfig('target_shake',bool); + ui.arena.dataset.target_shake=bool; + // if(bool){ + // ui.arena.classList.remove('no_target_shake'); + // } + // else{ + // ui.arena.classList.add('no_target_shake'); + // } + } + }, name_font:{ name:'人名字体', init:'xinwei', @@ -4481,7 +4486,7 @@ else if(info.line=='thunder'){ config.color='thunder'; } - else if(info.line===undefined){ + else if(info.line===undefined||info.line=='green'){ config.color='green'; } if(info.multitarget&&!info.multiline&&targets.length>1){ @@ -13994,9 +13999,9 @@ if(lib.config.layout=='default'&&lib.config.hp_style=='official'){ ui.arena.classList.add('hpimage'); } - if(!lib.config.target_shake){ - ui.arena.classList.add('no_target_shake'); - } + // if(!lib.config.target_shake){ + // ui.arena.classList.add('no_target_shake'); + // } // var themeentry='background_color_'+lib.config.theme; // if(lib.config[themeentry]){ // document.body.dataset[themeentry]=lib.config[themeentry]; @@ -14006,6 +14011,8 @@ // document.body.dataset[themeentry]=lib.config[themeentry]; // } + ui.arena.dataset.target_shake=lib.config.target_shake||'zoom'; + ui.arena.dataset.name_font=lib.config.name_font||'xinwei'; ui.arena.dataset.identity_font=lib.config.identity_font||'huangcao'; ui.arena.dataset.cardtext_font=lib.config.cardtext_font||'default'; diff --git a/image/character/daxiaoqiao.jpg b/image/character/daxiaoqiao.jpg new file mode 100644 index 000000000..6f9aabeff Binary files /dev/null and b/image/character/daxiaoqiao.jpg differ diff --git a/image/character/sp_daqiao.jpg b/image/character/sp_daqiao.jpg new file mode 100644 index 000000000..341b4740a Binary files /dev/null and b/image/character/sp_daqiao.jpg differ diff --git a/layout/default/layout.css b/layout/default/layout.css index 3ea143e5d..280301030 100755 --- a/layout/default/layout.css +++ b/layout/default/layout.css @@ -1037,8 +1037,11 @@ div:hover>.intro{opacity: 1;} /*.player.target{-webkit-filter:brightness(1.2)}*/ .target{box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgba(255, 0, 0, 0.4) 0 0 5px, rgba(255, 0, 0, 0.5) 0 0 12px, rgba(255, 0, 0, 0.8) 0 0 15px !important} -#arena:not(.no_target_shake) .target{transform: rotate(-3deg);} -#arena:not(.no_target_shake) .target2{transform: rotate(3deg);} +#arena[data-target_shake='shake'] .target{transform: rotate(-3deg);} +#arena[data-target_shake='shake'] .target2{transform: rotate(3deg);} + +#arena[data-target_shake='zoom'] .target, +#arena[data-target_shake='zoom'] .target2{transform: scale(1.03);} .content>.config.line2{ transform:translateX(-5px); diff --git a/layout/newlayout/global.css b/layout/newlayout/global.css index fdc776e7d..106c2ddaa 100644 --- a/layout/newlayout/global.css +++ b/layout/newlayout/global.css @@ -234,8 +234,12 @@ .player.linked{ transform:rotate(-90deg); } -#arena:not(.no_target_shake) .linked.target{transform: rotate(-93deg);} -#arena:not(.no_target_shake) .linked.target2{transform: rotate(-87deg);} +#arena[data-target_shake='shake'] .linked.target{transform: rotate(-93deg);} +#arena[data-target_shake='shake'] .linked.target2{transform: rotate(-87deg);} + +#arena[data-target_shake='zoom'] .linked.target, +#arena[data-target_shake='zoom'] .linked.target2{transform: scale(1.03) rotate(-90deg);} + .player.acted.linked .identity{ transform:rotate(270deg); diff --git a/manifest.json b/manifest.json index ce4781105..e400fc090 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "name": "noname", - "xwalk_version": "1.7.7", + "xwalk_version": "1.7.8", "start_url": "index.html", "icons": [ { diff --git a/mode/identity.js b/mode/identity.js index 5d2d0a5b0..a1fbd086a 100755 --- a/mode/identity.js +++ b/mode/identity.js @@ -788,12 +788,12 @@ mode.identity={ element:{ player:{ dieSpeak:function(){ - switch(this.identity){ - case 'zhu': this.popup('吾降矣',2000);break; - case 'zhong': this.popup('呃啊',2000);break; - case 'nei': this.popup('啊,被看穿了',2000);break; - case 'fan': this.popup('饶命啊',2000);break; - } + // switch(this.identity){ + // case 'zhu': this.popup('吾降矣',2000);break; + // case 'zhong': this.popup('呃啊',2000);break; + // case 'nei': this.popup('啊,被看穿了',2000);break; + // case 'fan': this.popup('饶命啊',2000);break; + // } }, dieAfter:function(source){ this.dieSpeak(); diff --git a/mode/stone.js b/mode/stone.js index 43c02d1ad..69a9aa487 100755 --- a/mode/stone.js +++ b/mode/stone.js @@ -692,12 +692,12 @@ mode.stone={ stone_siwangzhiyi:['male','qun',6,['stone_mieshi'],['minskin','stone','stonehidden','stonelegend'],[6,6]], stone_alaikesita:['male','qun',5,['stone_fushi'],['minskin','stone','stonehidden','stonelegend'],[6,5]], - stone_yisela:['male','qun',6,['stone_chenshui'],['minskin','stone','stonehidden','stonelegend'],[6,3]], + stone_yisela:['male','qun',6,['stone_chenshui'],['minskin','stone','stonehidden','stonelegend'],[6,2]], stone_nuoziduomu:['male','qun',5,['stone_shixu'],['minskin','stone','stonehidden','stonelegend'],[6,5]], - stone_maligousi:['male','qun',6,['stone_mowang'],['minskin','stone','stonehidden','stonelegend'],[6,3]], + stone_maligousi:['male','qun',6,['stone_mowang'],['minskin','stone','stonehidden','stonelegend'],[6,2]], stone_aolajier:['male','qun',6,['stone_chongfeng','shaman_fengnu','paladin_hudun','chaofeng'],['minskin','stone','stonehidden','stonelegend_shaman'],[6,4]], - stone_andongni:['male','qun',6,['stone_zhiyin'],['minskin','stone','stonehidden','stonelegend_mage'],[6,6]], + stone_andongni:['male','qun',6,['stone_zhiyin'],['minskin','stone','stonehidden','stonelegend_mage'],[6,4]], stone_jialakesi:['male','qun',6,['stone_bianshen'],['minskin','stone','stonehidden','stonelegend_warlock'],[6,0]], stone_jialakesix:['male','qun',6,['stone_lianyu'],['stonehidden','stonespecial']], stone_kelushi:['male','qun',8,['stone_chongfeng'],['minskin','stone','stonehidden','stonelegend_hunter'],[6,8]], @@ -1777,8 +1777,8 @@ mode.stone={ }, ai:{ order:4, - value:5, - useful:5, + value:3, + useful:3, result:{ target:function(player,target){ if(target.side!=player.side){ @@ -1817,8 +1817,8 @@ mode.stone={ }, ai:{ order:7, - value:3, - useful:3, + value:5, + useful:5, result:{ player:function(player){ if(player.getEnemy().countFellow()>=2) return 1; @@ -2121,6 +2121,7 @@ mode.stone={ 'step 1' if(event.targets.length){ event.targets.shift().die(); + event.redo(); } }, ai:{ @@ -2220,7 +2221,8 @@ mode.stone={ stoneact:2, career:'paladin', enable:function(card,player){ - return player.getEnemy().countFellow()>player.countFellow(); + var num=player.getEnemy().countFellow(); + return num>0&&num>=player.countFellow(); }, fullimage:true, notarget:true, @@ -3302,7 +3304,11 @@ mode.stone={ result:{ target:function(player,target){ if(target.isTurnedOver()) return 0; - if(target.isMin()) return target.hp; + var num=0; + if(target.skills.contains('shaman_fengnu')){ + num=3; + } + if(target.isMin()) return target.hp+num; return 1.1; } } @@ -3811,6 +3817,7 @@ mode.stone={ 'step 1' if(event.list.length){ event.list.shift().die(); + event.redo(); } }, ai:{ @@ -5145,6 +5152,7 @@ mode.stone={ 'step 1' if(event.list.length){ event.list.shift().die(); + event.redo(); } 'step 2' player.recover(2) @@ -5455,7 +5463,10 @@ mode.stone={ if(game.players[i].isMin()&&game.players[i]!=player){ list.push(game.players[i]); if(game.players[i].side!=player.side){ - event.num+=2; + event.num+=game.players[i].hp; + } + else{ + event.num-=game.players[i].hp; } } } @@ -5505,11 +5516,8 @@ mode.stone={ } }, stone_chenshui:{ - trigger:{global:'phaseEnd'}, + trigger:{player:'phaseEnd'}, forced:true, - filter:function(event,player){ - return event.player==player.getLeader(); - }, content:function(){ var list=['mengjing_feicuiyoulong','mengjing_huanxiaojiemei', 'mengjing_suxing','mengjing_mengye','mengjing_mengjing']; @@ -6458,6 +6466,15 @@ mode.stone={ } } } + for(var i=0;i6){ honglong=true; } + else if(player.maxHp-player.hp>=3&&player.hp<=2){ + honglong=true; + } } player.chooseButton(dialog).ai=function(button){ if(button.link=='stone_siwangzhiyi'){ @@ -9277,11 +9297,11 @@ mode.stone={ stone_fushi:'缚誓', stone_fushi_info:'你出场时,为所有友方角色回复所有体力值', stone_mieshi:'灭世', - stone_mieshi_info:'你出场时,消灭所有其他随从,弃置己方主将的所有手牌,每有一名敌方随从死亡,便受到两点伤害', + stone_mieshi_info:'你出场时,消灭所有其他随从,弃置己方主将的所有手牌,并受到X点伤害,X为敌方与己方的随从数体力值之差', stone_shixu:'时序', stone_shixu_info:'你出场的回合内,己方主将获得4点行动值', stone_chenshui:'沉睡', - stone_chenshui_info:'己方主将的回合结束阶段,令其获得一张梦境牌', + stone_chenshui_info:'在你的回合结束阶段,令己方主将获得一张梦境牌', stone_mowang:'魔网', stone_mowang_info:'己方法术伤害+2', @@ -9509,7 +9529,7 @@ mode.stone={ spell_jinyingduijue:'精英对决', spell_jinyingduijue_info:'双方各保留体力值最高的一名随从,然后令其他随从死亡', spell_shenpan:'审判', - spell_shenpan_info:'若你的对手随从数多于你,则随机令一名敌方随从死亡', + spell_shenpan_info:'若你的对手随从数不少于你,则随机令一名敌方随从死亡', spell_shenshengfennu:'神圣愤怒', spell_shenshengfennu_info:'从牌库中获得一张牌,并造成等同于其行动值消耗的伤害', spell_yongshizhufu:'勇士祝福', diff --git a/mode/versus.js b/mode/versus.js index edf4ff09e..47caceace 100755 --- a/mode/versus.js +++ b/mode/versus.js @@ -506,7 +506,7 @@ mode.versus={ 'xunyu','lusu','guanping','zhangzong','zhoutai','sp_zhangjiao','zhangjiao', 'shixie','zhanglu','chenlin','mayunlu','yangxiu','zhugeke','chengyu', 'zhangbao','zhangliang','sunhao','wutugu','zhugeguo','liuzan','lingcao', - 'sunru','lingju','lifeng','hanba','sunluyu','zhuling', + 'sunru','lingju','lifeng','hanba','sunluyu','zhuling','daxiaoqiao', 'sp_zhaoyun','sp_diaochan','sp_pangtong','sp_caoren','sp_daqiao', 'sp_ganning','sp_zhangfei','sp_xiahoudun'].contains(name)){ return true; @@ -1653,10 +1653,10 @@ mode.versus={ element:{ player:{ dieSpeak:function(){ - switch(this.identity){ - case 'zhu': this.popup('吾降矣',2000);break; - case 'zhong': this.popup('呃啊',2000);break; - } + // switch(this.identity){ + // case 'zhu': this.popup('吾降矣',2000);break; + // case 'zhong': this.popup('呃啊',2000);break; + // } }, dieAfter:function(source){ if(_status.mode=='four'){ diff --git a/package.json b/package.json index 8f86016ff..3fdccace8 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { "name": "无名杀", - "version": "1.7.7", + "version": "1.7.8", "main": "main.js" }