diff --git a/mode/brawl.js b/mode/brawl.js index 7f5f5cadd..e2b34b584 100644 --- a/mode/brawl.js +++ b/mode/brawl.js @@ -440,6 +440,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ 'cuorui','xinmanjuan','xinfu_jianjie','jianjie_faq','new_meibu','xinfu_xingzhao','jici', 'xianfu','fenyong','xuehen','yingbin','midao','yishe','yinbing','juedi', 'bushi','xinfu_dianhua','xinfu_falu','xinfu_zhenyi','lskuizhu','pingjian','xjshijian','fentian','zhiri','xindan', + 'xinzhengnan','xinfu_xiaode', ]; var characters=[]; for(var name in lib.character){ @@ -521,7 +522,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ hhzz_shiona:['female','key',1,['hhzz_huilei']], hhzz_kanade:['female','key',2,['hhzz_youlian']], hhzz_takaramono1:['male','qun',5,['hhzz_jubao','hhzz_huizhen']], - hhzz_takaramono2:['male','qun',5,['hhzz_jubao','hhzz_zhencang']], + hhzz_takaramono2:['male','qun',3,['hhzz_jubao','hhzz_zhencang']], }, skill:{ _lingli_damage:{ @@ -529,27 +530,35 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ forced:true, popup:false, filter:function(event,player){ - return event.player==_status.toKill; + return event.player==player._toKill; }, content:function(){ + game.log(player,'对击杀目标造成了伤害'); player.changeLingli(1); }, }, _lingli:{ mark:true, + marktext:'灵', + popup:'聚灵', intro:{ - content:'共有#点灵力', + name:'灵力', + content:'当前灵力点数:# / 5', }, trigger:{ player:'phaseBeginStart', }, - popup:false, - forced:true, + prompt:'是否消耗2点灵力获得一个技能?', filter:function(event,player){ return player.storage._lingli>1; }, + check:function(event,player){ + return player.skillH.length<3; + }, content:function(){ 'step 0' + player.changeLingli(-2); + 'step 1' event.skills=lib.huanhuazhizhan.skills; var skills=event.skills; skills.randomSort(); @@ -559,18 +568,18 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(list.length==3) break; } if(!list.length){event.finish();return;} + if(player.storage._lingli>0) list.push('刷新'); event.list=list; - player.chooseBool('是否消耗2点灵力值获得一个技能?').ai=function(){ - return player.skillH.length<3; - }; - 'step 1' - if(!result.bool){event.finish();return;} - player.changeLingli(-2); var dialog=game.getSkillDialog(event.list,'选择获得一个技能'); player.chooseControl(event.list).set('ai',function(){ return 0; }).dialog=dialog; 'step 2' + if(result.control=='刷新'){ + player.changeLingli(-1); + event.goto(1); + return; + } event.skill=result.control; if(player.skillH.length==3){ event.lose=true; @@ -615,9 +624,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ forced:true, popup:false, filter:function(event,player){ - return event.card.name=='tao'&&player==_status.toSave; + return event.card.name=='tao'&&player==event.player._toSave; }, content:function(){ + game.log(trigger.player,'帮助了保护目标'); trigger.player.changeLingli(1); }, }, @@ -631,13 +641,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, content:function(){ 'step 0' - if(_status._aozhan&&!player.getStat('damage')) player.loseHp(); - if(trigger._lastDead==undefined) event.finish(); + if(_status._aozhan&&!player.getStat('damage')){ + player.loseHp(); + game.log(player,'本回合内未造成伤害,触发死战模式惩罚'); + } + if(trigger._lastDead==undefined) event.goto(2); 'step 1' var type=get.rand(1,8); event.type=type; - player.playerfocus(1200); - player.$fullscreenpop('乾坤八卦·'+['离','坎','乾','震','兑','艮','巽','坤'][type-1],get.groupnature(player.group,'raw')); + trigger._lastDead.playerfocus(1200); + player.$fullscreenpop('乾坤八卦·'+['离','坎','乾','震','兑','艮','巽','坤'][type-1],get.groupnature(trigger._lastDead.group,'raw')); game.delay(1.5); 'step 2' var type=event.type; @@ -705,18 +718,46 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ trigger._lastDead.revive(null,false); trigger._lastDead.uninit(); trigger._lastDead.init(['hhzz_shiona','hhzz_kanade','hhzz_takaramono1','hhzz_takaramono2'].randomGet()); - trigger._lastDead.skillH=[]; + trigger._lastDead.skillH=lib.character[trigger._lastDead.name][3].slice(0); + trigger._lastDead.addSkill('hhzz_nocard'); break; } } + 'step 3' + if(game.playerx().length<=4&&!_status._aozhan){ + game.countPlayer(function(current){ + delete current._toKill; + delete current._toSave; + }); + ui.huanhuazhizhan.innerHTML='死战模式'; + _status._aozhan=true; + game.playBackgroundMusic(); + trigger._lastDead.$fullscreenpop('死战模式',get.groupnature(trigger._lastDead.group,'raw')||'fire'); + } + else game.randomMission(); }, }, - hhzz_huilei:{ + hhzz_noCard:{ mod:{ cardEnabled:function(){return false}, cardSavable:function(){return false}, cardRespondable:function(){return false}, }, + }, + hhzz_huilei:{ + trigger:{player:'die'}, + forced:true, + forceDie:true, + skillAnimation:true, + logTarget:'source', + filter:function(event,player){ + return event.source!=undefined; + }, + content:function(){ + var source=trigger.source; + var cards=source.getCards('he'); + if(cards.length) source.discard(cards); + }, ai:{ effect:{ target:function(card,player,target){ @@ -726,10 +767,20 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } }, hhzz_youlian:{ - mod:{ - cardEnabled:function(){return false}, - cardSavable:function(){return false}, - cardRespondable:function(){return false}, + trigger:{player:'die'}, + forced:true, + forceDie:true, + skillAnimation:true, + logTarget:'source', + filter:function(event,player){ + return event.source!=undefined; + }, + content:function(){ + var source=trigger.source; + var cards=source.getCards('he'); + if(cards.length) source.discard(cards); + var skills=source.skillH; + if(skills.length) source.removeSkillH(skills.randomGet()); }, ai:{ effect:{ @@ -740,17 +791,37 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } }, hhzz_zhencang:{ - mod:{ - cardEnabled:function(){return false}, - cardSavable:function(){return false}, - cardRespondable:function(){return false}, + trigger:{player:'die'}, + forced:true, + filter:function(event,player){ + return event.source!=undefined; + }, + forceDie:true, + logTarget:'source', + content:function(){ + var source=trigger.source; }, }, hhzz_huizhen:{ - mod:{ - cardEnabled:function(){return false}, - cardSavable:function(){return false}, - cardRespondable:function(){return false}, + trigger:{player:'die'}, + forced:true, + forceDie:true, + logTarget:'source', + filter:function(event,player){ + return event.source!=undefined; + }, + content:function(){ + var source=trigger.source; + source.draw(3); + if(source.skillH.length==3) source.removeSkillH(source.skillH.randomGet()); + var skills=lib.huanhuazhizhan.skills; + skills.randomSort(); + for(var i=0;i0){ + num=Math.min(num,5-this.storage._lingli); + if(num<1) return; game.log(this,'获得了','#y'+get.cnNumber(num)+'点','灵力'); } else{ @@ -918,14 +966,19 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, randomMission:function(){ if(_status._aozhan) return; - var list=game.playerx().randomSort(); - _status.toKill=list[0]; - _status.toSave=list[1]; if(!ui.huanhuazhizhan){ ui.huanhuazhizhan=ui.create.div('.touchinfo.left',ui.window); if(ui.time3) ui.time3.style.display='none'; } - ui.huanhuazhizhan.innerHTML='击杀'+get.translation(list[0])+',保护'+get.translation(list[1]); + var players=game.playerx(); + for(var i=0;i