diff --git a/xtrn/tankbattle/tanks.js b/xtrn/tankbattle/tanks.js index b948a294799f9a383513b719611719197ebc050f..43e9100ee8467db48fcdf33e2a2f87099d42c0b9 100644 --- a/xtrn/tankbattle/tanks.js +++ b/xtrn/tankbattle/tanks.js @@ -9,6 +9,8 @@ for Synchronet BBS systems. ----------------------------------------------------------- */ +//$Id$ +const VERSION="$Revision$".split(' ')[1]; var root=js.exec_dir; @@ -247,16 +249,14 @@ function lobby() notify("No such battle!"); return false; } - if(!battles[gameNumber].players[user.alias]) { - joinBattle(battles[gameNumber],user.alias); - notice("You joined battle #" + gameNumber); - return true; - } + joinBattle(battles[gameNumber]); + return true; } function createBattle() { + var id=players.getPlayerID(user.alias); for each(var b in battles) { - if(b.players[players.getPlayerID(user.alias)]) { + if(b.players[id]) { menuPrompt("\1r\1hYou are already in a game \1n\1r[\1hpress a key\1n\1r]"); return false; } @@ -283,7 +283,6 @@ function lobby() var mapFile=list[mapNumber-1]; var battle=new Battle(false,mapFile); - var id=players.getPlayerID(user.alias); var position=0; var player=new Player(id,position,100); player.start=battle.start[position]; @@ -294,17 +293,17 @@ function lobby() notice("\1g\1hGame #" + parseInt(battle.gameNumber,10) + " created"); storeGame(battle); } - function joinBattle(battle,name) + function joinBattle(battle) { - if(battle.players[players.getPlayerID(user.alias)]) { + var id=players.getPlayerID(user.alias); + if(battle.players[id]) { menuPrompt("\1r\1hYou are already in that game \1n\1r[\1hpress a key\1n\1r]"); return false; } if(countMembers(battle.players) == battle.start.length) { - menuPrompt("\1r\1hYou are already in a game \1n\1r[\1hpress a key\1n\1r]"); + menuPrompt("\1r\1hThat game is full \1n\1r[\1hpress a key\1n\1r]"); return false; } - var id=players.getPlayerID(name); var position=countMembers(battle.players); var player=new Player(id,position,100); player.start=battle.start[position]; @@ -312,6 +311,7 @@ function lobby() player.coords=new Coords(player.start.x,player.start.y); battle.players[id]=player; storePlayerData(battle,id,position); + notice("You joined battle #" + battle.gameNumber); } function updateBattles() { @@ -385,7 +385,7 @@ function lobby() console.pushxy(); for each(var m in waiting) { console.putmsg("\1n\1cBattle #\1h" + m.gameNumber); - if(countMembers(m.players)>1) + if(m.timer.countdown > 0) console.putmsg(" \1n\1c: \1r\1h" + parseInt(m.timer.countdown,10)); console.popxy(); console.down(); @@ -590,6 +590,9 @@ function playGame(battle) if(file_exists(battle.dataFile)) { file_remove(battle.dataFile); } + if(file_exists(battle.dataFile + ".bck")) { + file_remove(battle.dataFile + ".bck"); + } } function send(func) { @@ -1207,14 +1210,6 @@ function playGame(battle) init(); main(); } -function getNewGameNumber() -{ - var gNum=1; - while(file_exists(root + "battle" + gNum + ".ini")) { - gNum++; - } - return gNum; -} function menuPrompt(text) { chat.input_line.clear();