diff --git a/mode/versus.js b/mode/versus.js index ae04b2d6c..c304121be 100644 --- a/mode/versus.js +++ b/mode/versus.js @@ -2793,47 +2793,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ 'step 0' lib.init.onfree(); ui.arena.classList.add('choose-character'); - var evt_list=[['huoshaowuchao','chunyuqiong'],['liangcaokuifa','sp_xuyou'],['zhanyanliangzhuwenchou','jsp_guanyu'],['shishengshibai','re_guojia'],['xutuhuanjin','yj_jushou'],['liangjunxiangchi','yj_jushou'],['jianshoudaiyuan','tianfeng'],['yiruoshengqiang','re_caocao'],['shichongerjiao','sp_xuyou']].randomGet(); - var evt=evt_list[0],character=evt_list[1]; - game.addGlobalSkill(evt); - const showGuanduEvent=function(evt){ - if(ui['GuanduEvent_'+evt]) return; - ui['GuanduEvent_'+evt]=ui.create.system(get.translation(evt),null,true); - lib.setPopped(ui['GuanduEvent_'+evt],function(){ - var uiintro=ui.create.dialog('hidden'); - uiintro.add(get.translation(evt)); - uiintro.add('
'+get.translation(evt+'_info')+'
'); - var ul=uiintro.querySelector('ul'); - if(ul) ul.style.width='180px'; - uiintro.add(ui.create.div('.placeholder')); - return uiintro; - },250); - }; - showGuanduEvent(evt); - game.broadcastAll(function(evt){ - if(lib.config.background_speak) game.playAudio('skill',evt); - if(evt=='shishengshibai'){ - ui.guanduInfo=get.is.phoneLayout()?ui.create.div('.touchinfo.left',ui.window):ui.create.div(ui.gameinfo); - ui.guanduInfo.innerHTML='十胜十败(0)'; - } - },evt); - game.me.chooseControl('ok').set('dialog',['###本局特殊事件:'+get.translation(evt)+'###'+get.translation(evt+'_info'),[[character],'character']]); - 'step 1' - game.falseZhu.chooseButton(['请选择你的武将牌',[['caocao'],'characterx']],true); - 'step 2' - event.falseZhu_choice = result.links[0]; - game.trueZhu.chooseButton(['请选择你的武将牌',[['re_yuanshao'],'characterx']],true); - 'step 3' - event.trueZhu_choice = result.links[0]; - game.falseZhu.init(event.falseZhu_choice); - game.trueZhu.init(event.trueZhu_choice); - game.trueZhu.hp++; - game.trueZhu.maxHp++; - game.falseZhu.hp++; - game.falseZhu.maxHp++; - game.trueZhu.update(); - game.falseZhu.update(); - 'step 4' + const side=game.me.side.toString(); + event.friendSide=side;event.enemySide=(side=='true'?'false':'true'); + event.zhuList=[['caocao'],['re_yuanshao']]; event.falseList=['xiahouyuan','litong','zangba','manchong','xunyu','guojia','zhangliao','xuhuang','caohong','jsp_guanyu','hanhaoshihuan','caoren','yujin','liuye','chengyu','xunyou','zhangxiu','sp_jiaxu'].filter(function(name){ if(lib.characterReplace[name]){ let goon = false; @@ -2868,20 +2830,80 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } return false; }); - 'step 5' - if(game.me.identity!='zhu'){ - event.choose_me=true; - game.me.chooseButton(['请选择你的武将牌',[event[game.me.side+'List'].randomRemove(2),'characterx']],true); - } - 'step 6' - if(event.choose_me) game.me.init(result.links[0]); - game.countPlayer(function(current){ - if(current!=game.me&¤t.identity=='zhong'){ - let choice = event[current.side+'List'].randomRemove(2)[0]; - if(lib.characterReplace[choice]) choice = lib.characterReplace[choice].randomGet(); + 'step 1' + game[event.enemySide+'Zhu'].chooseButton(['请选择你的武将牌',[event.zhuList[event.enemySide=='true'?1:0],'characterx']],true); + 'step 2' + game[event.enemySide+'Zhu'].init(result.links[0]); + game[event.enemySide+'Zhu'].maxHp++; + game[event.enemySide+'Zhu'].hp++; + game[event.enemySide+'Zhu'].update(); + 'step 3' + game.countPlayer(current=>{ + if(current.side.toString()==event.enemySide&¤t.identity=='zhong'){ + let choice=event[event.enemySide+'List'].randomRemove(2)[0]; + if(lib.characterReplace[choice]) choice=lib.characterReplace[choice].randomGet(); current.init(choice); } }); + 'step 4' + var evt_list=[['huoshaowuchao','chunyuqiong'],['liangcaokuifa','sp_xuyou'],['zhanyanliangzhuwenchou','jsp_guanyu'],['shishengshibai','re_guojia'],['xutuhuanjin','yj_jushou'],['liangjunxiangchi','yj_jushou'],['jianshoudaiyuan','tianfeng'],['yiruoshengqiang','re_caocao'],['shichongerjiao','sp_xuyou']].randomGet(); + var evt=evt_list[0],character=evt_list[1]; + game.addGlobalSkill(evt); + const showGuanduEvent=function(evt){ + if(ui['GuanduEvent_'+evt]) return; + ui['GuanduEvent_'+evt]=ui.create.system(get.translation(evt),null,true); + lib.setPopped(ui['GuanduEvent_'+evt],function(){ + var uiintro=ui.create.dialog('hidden'); + uiintro.add(get.translation(evt)); + uiintro.add('
'+get.translation(evt+'_info')+'
'); + var ul=uiintro.querySelector('ul'); + if(ul) ul.style.width='180px'; + uiintro.add(ui.create.div('.placeholder')); + return uiintro; + },250); + }; + showGuanduEvent(evt); + game.broadcastAll(function(evt){ + if(lib.config.background_speak) game.playAudio('skill',evt); + if(evt=='shishengshibai'){ + ui.guanduInfo=get.is.phoneLayout()?ui.create.div('.touchinfo.left',ui.window):ui.create.div(ui.gameinfo); + ui.guanduInfo.innerHTML='十胜十败(0)'; + } + },evt); + game.me.chooseControl('ok').set('dialog',['###本局特殊事件:'+get.translation(evt)+'###'+get.translation(evt+'_info'),[[character],'character']]); + 'step 5' + game[event.friendSide+'Zhu'].chooseButton(['请选择你的武将牌',[event.zhuList[event.friendSide=='true'?1:0],'characterx']],true); + 'step 6' + if(game[event.friendSide+'Zhu']==game.me){ + game[event.friendSide+'Zhu'].init(result.links[0]); + game[event.friendSide+'Zhu'].maxHp++; + game[event.friendSide+'Zhu'].hp++; + game[event.friendSide+'Zhu'].update(); + } + else event.zhuChoice=result.links[0]; + 'step 7' + if(game.me.identity!='zhu'){ + event.choose_me=true; + game.me.chooseButton(['请选择你的武将牌',[event[event.friendSide+'List'].randomRemove(2),'characterx']],true); + } + 'step 8' + if(event.choose_me) game.me.init(result.links[0]); + game.countPlayer(function(current){ + if(current!=game.me&¤t.side.toString()==event.friendSide){ + if(current.identity=='zhong'){ + let choice=event[event.friendSide+'List'].randomRemove(2)[0]; + if(lib.characterReplace[choice]) choice = lib.characterReplace[choice].randomGet(); + current.init(choice); + } + else{ + current.init(event.zhuChoice); + current.maxHp++; + current.hp++; + current.update(); + } + } + }); + 'step 9' setTimeout(function(){ ui.arena.classList.remove('choose-character'); },500); @@ -4906,14 +4928,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ enable: ['chooseToUse', 'chooseToRespond'], position: 'hs', prompt: '将【杀】当作【闪】,或将【闪】当作的【杀】使用或打出,然后你的下个弃牌阶段的手牌上限-1', - viewAs: function(cards, player) { - var name = false; + viewAs:function(cards,player){ if(cards.length){ - switch (get.name(cards[0], player)) { - case 'sha': name = 'shan'; break; - case 'shan': name = 'sha'; break; + var name=false; + switch(get.name(cards[0],player)){ + case 'sha':name='shan';break; + case 'shan':name='sha';break; } - if (name) return { name: name }; + if(name) return {name:name}; } return null; }, @@ -4974,7 +4996,15 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } if (!player.countCards('hs', name)) return false; }, - order: 0.01, + order:function(item,player){ + if(player&&_status.event.type=='phase'){ + if(player.countCards('hs','shan')&&player.getUseValue({name:'sha'})>0){ + return get.order({name:'sha'},player)*0.99; + } + return 0; + } + return 0.001; + }, }, subSkill: { less: {