mode.infinity={ game:{ start:function(){ var next=game.createEvent('game',false); next.content=function(){ "step 0" if(lib.storage.choice==undefined) game.save('choice',18); if(lib.storage.zhu==undefined) game.save('zhu',true); if(lib.storage.only_zhu==undefined) game.save('only_zhu',true); ui.create.arena(); ui.auto.hide(); game.delay(); "step 1" game.chooseCharacter(); "step 2" event.trigger('gameStart'); game.gameDraw(game.players[0]); _status.round=0; if(lib.storage.zhu){ _status.currentSide=true; game.versusPhaseLoop((_status.currentSide==game.me.side)?game.friendZhu:game.enemyZhu); } else{ game.versusPhaseLoop(game.players[Math.floor(Math.random()*game.players.length)]); } } }, chooseCharacter:function(){ var next=game.createEvent('chooseCharacter',false); next.showConfig=true; next.content=function(){ "step 0" event.check=function(){ this.dialog.style.top='40px'; this.dialog.style.height='calc(100% - 80px)'; this.dialog.classList.add('noslide'); for(var i=0;i=dialog.versus_number.link+dialog.replace_number.link){ if(!ui.confirm) ui.confirm=ui.create.control('start',_status.event.confirm); } else if(ui.confirm){ ui.confirm.close(); } game.save('number',dialog.versus_number.link); game.save('replace_number',dialog.replace_number.link); game.save('choice',dialog.choice.link); var count,i; if(dialog.buttons.length>lib.storage.choice){ count=dialog.buttons.length-lib.storage.choice; var removed=[]; for(i=dialog.buttons.length-1;i>=0&&count>0;i--){ if(dialog.buttons[i].classList.contains('target')==false&& dialog.buttons[i].classList.contains('glow')==false){ dialog.buttons[i].remove(); _status.list.remove(dialog.buttons[i].link); removed.push(dialog.buttons[i].link) dialog.buttons.splice(i,1); count--; } } for(i=0;i=2*Math.max(game.friend.length,game.enemy.length)){ _status.round=0; for(var i=0;ib.num('j')) return 1; return a.hp-b.hp; }) event.player=list[0]; event.goto(0); } else{ game.me.chooseTarget('选择要行动的角色',true,function(card,player,target){ return (target.classList.contains('acted')==false&&target.side==game.me.side); }) } } else{ event.player=event.player.next; event.goto(0); } "step 2" event.player=result.targets[0]; event.goto(0); } }, replacePlayer:function(player){ var next=game.createEvent('replacePlayer'); next.source=player; next.content=function(){ "step 0" var list=(source.side==game.me.side)?_status.friend:_status.enemy; if(list.length==0){ game.friend.remove(source); game.enemy.remove(source); if(game.friend.length==0) game.over(false); else if(game.enemy.length==0) game.over(true); if(game.friendZhu&&game.friendZhu.classList.contains('dead')&&game.friend.length){ game.friendZhu=game.friend[0]; game.friendZhu.setIdentity(_status.color+'Zhu'); } if(game.enemyZhu&&game.enemyZhu.classList.contains('dead')&&game.enemy.length){ game.enemyZhu=game.enemy[0]; game.enemyZhu.setIdentity(!_status.color+'Zhu'); } event.finish(); return; } if(source.side==game.me.side&&list.length>1&&game.me==game.friendZhu&& lib.storage.replace==false&&!_status.auto){ event.dialog=ui.create.dialog('选择替补角色',[list,'character']); event.filterButton=function(){return true;}; event.player=game.me; event.forced=true; event.custom.replace.confirm=function(){ event.character=ui.selected.buttons[0].link; event.dialog.close(); if(ui.confirm) ui.confirm.close(); delete event.player; game.resume(); } game.check(); game.pause(); // game.me.chooseButton(dialog,true); } else{ event.character=list[Math.floor(Math.random()*list.length)]; } "step 1" // if(result&&result.buttons&&result.buttons.length) event.character=result.buttons[0].link; _status.friend.remove(event.character); _status.enemy.remove(event.character); source.revive(); source.init(event.character); source.draw(4); // console.log(_status.event.parent.parent.parent.name) _status.event.parent.parent.parent.untrigger(true); } }, swapSeat:function(){ ; } }, translate:{ trueZhu:"帅", falseZhu:"将", trueZhong:"兵", falseZhong:"卒", trueColor:"#ffddb9", falseColor:"#b0d0e2", versus_zhu_config:'启用主将', versus_only_zhu_config:'只当主将', versus_replace_config:'自动换人', versus_assign_enemy_config:'指定对手', versus_number_config:'对阵人数', replace_number_config:'替补人数', choice_config:'候选人数' }, element:{ player:{ dieSpeak:function(){ switch(this.identity){ case 'zhu': this.popup('吾降矣',2000);break; case 'zhong': this.popup('呃啊',2000);break; } }, dieAfter:function(source){ this.dieSpeak(); if(this.side==game.me.side){ _status.friendDied++; } else{ _status.enemyDied++; } _status.friendCount.innerHTML='我方阵亡:'+get.cnNumber(_status.friendDied,true); _status.enemyCount.innerHTML='敌方阵亡:'+get.cnNumber(_status.enemyDied,true); if(game.friend.length==1&&this==game.friend[0]&&_status.friend.length==0){ game.over(false); } else if(game.enemy.length==1&&this==game.enemy[0]&&_status.enemy.length==0){ game.over(true); } else{ if(source&&lib.storage.zhu){ if(source.side!=this.side){ source.draw(3); } else{ source.discard(source.get('he')); } } else{ game.delay(); } game.replacePlayer(this); } } } }, ai:{ get:{ attitude:function(from,to){ if(from.side==to.side){ if(to.identity=='zhu') return 6; return 6; } if(to.identity=='zhu') return -6; return -6; }, } }, config:{ change_choice:true, ban_weak:true, } }