Skip to content

Commit

Permalink
Merge pull request smogon#162 from kotarou3/tournaments
Browse files Browse the repository at this point in the history
Tournaments update
  • Loading branch information
Zarel committed Mar 22, 2014
2 parents 2489a1b + 5724863 commit 0e927e3
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 4 deletions.
62 changes: 58 additions & 4 deletions js/client-chat-tournament.js
Original file line number Diff line number Diff line change
Expand Up @@ -215,12 +215,24 @@
};

TournamentBox.prototype.parseMessage = function (data, isBroadcast) {
if (Config.server.id !== "battletower") return true;
var cmd = data.shift().toLowerCase();
if (isBroadcast) {
// TODO
return true;
switch (cmd) {
case 'info':
var $infoList = $('<ul></ul>');
JSON.parse(data.join('|')).forEach(function (tournament) {
var $info = $('<li></li>');
$info.text(": " + BattleFormats[tournament.format].name + " " + tournament.generator + (tournament.isStarted ? " (Started)" : ""));
$info.prepend($('<a class="ilink"></a>').attr('href', app.root + toRoomid(tournament.room).toLowerCase()).text(tournament.room));
$infoList.append($info);
});
this.room.$chat.append($('<div class="notice">').append($('<div class="infobox tournaments-info"></div></div>').append($infoList)));
break;

default:
return true;
}
} else {
var cmd = data.shift().toLowerCase();
switch (cmd) {
case 'create':
var format = BattleFormats[data[0]].name;
Expand Down Expand Up @@ -391,6 +403,48 @@
this.room.$chat.append("<div class=\"notice tournament-message-forceend\">The tournament was forcibly ended.</div>");
break;

case 'error':
var appendError = (function(message) {
this.room.$chat.append("<div class=\"notice tournament-message-forceend\">" + message + "</div>");
}).bind(this);

switch (data[0]) {
case 'BracketFrozen':
case 'AlreadyStarted':
appendError("The tournament has already started.");
break;

case 'BracketNotFrozen':
case 'NotStarted':
appendError("The tournament hasn't started yet.");
break;

case 'UserAlreadyAdded':
appendError("You are already in the tournament.");
break;

case 'AltUserAlreadyAdded':
appendError("One of your alts is already in the tournament.");
break;

case 'UserNotAdded':
appendError("You aren't in the tournament.");
break;

case 'NotEnoughUsers':
appendError("There isn't enough users.");
break;

case 'InvalidMatch':
appendError("That isn't a valid tournament matchup.");
break;

default:
appendError("Unknown error: " + data[0]);
break;
}
break;

default:
return true;
}
Expand Down
6 changes: 6 additions & 0 deletions style/client.css
Original file line number Diff line number Diff line change
Expand Up @@ -985,6 +985,12 @@ a.ilink:hover {

/* Tournaments */

.tournaments-info > ul {
list-style: none;
margin: 0;
padding: 0;
}

.tournament-wrapper {
display: none;
position: absolute;
Expand Down

0 comments on commit 0e927e3

Please sign in to comment.